首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails 5设备路由post 'account/login‘会话"account#login_user“,:as =>:=>

Rails 5设备路由post 'account/login‘会话"account#login_user“,:as =>:=>
EN

Stack Overflow用户
提问于 2020-02-05 11:30:12
回答 1查看 56关注 0票数 0

我使用的是带有Devise '4.5.0‘的Rails5。

这是我的gemfile

代码语言:javascript
复制
source 'https://rubygems.org'
ruby '2.5.7'

gem 'rails', '~> 5.0.0'

gem 'bundler'

gem 'sass-rails'
gem 'tinymce-rails'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.2.1'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jquery-turbolinks'
gem 'jbuilder', '~> 1.2'
gem 'bootstrap-sass', '~> 3.3.5'
gem 'devise', '~> 4.5.0'
gem 'omniauth'
gem "paperclip", '~> 5.2.1'
gem 'aws-sdk', '~> 1.59.0'
gem 'masonry-rails', '~> 0.2.1'
gem 'rspec-rails'
gem 'rake'
gem 'rolify', :git => 'git://github.com/EppO/rolify.git'
gem 'public_activity'
gem 'smarter_csv'
gem 'roo'
gem "iconv", "~> 1.0.3"
gem 'newrelic_rpm'
gem 'social-share-button', '~> 0.1.6'
gem 'json', github: 'flori/json', branch: 'v1.8'
gem 'sprockets', '~> 3.0'
#gem 'will_paginate'
#gem 'will_paginate-bootstrap'
gem 'acts-as-taggable-on'
gem 'mandrill-api'
gem 'merit', '~> 2.4.0'
# Use gem font-awesome-sass
gem 'font-awesome-sass'
# Use gem momentjs-rails as dependency of datetimepicker-rails gem
gem 'momentjs-rails'
# Use gem datetimepicker-rails
gem 'datetimepicker-rails', github: 'zpaulovics/datetimepicker-rails', branch: 'master', submodules: true
gem 'simple_form'
gem 'rb-readline'
gem 'kaminari'
gem 'therubyracer'
gem 'omniauth-facebook'
gem 'figaro'
gem 'giocopro'
gem "haml", "~> 5.1.1"
gem "haml-rails"

group :development, :test do
    gem 'sqlite3', '~> 1.3.6'
    gem 'railroady'
    gem 'byebug'
end

group :production do
  gem 'pg', '~> 0.20'
end


group :production do
    gem 'rails_12factor'
end

这是我的config/routes.rb

代码语言:javascript
复制
Lapapayanetwork::Application.routes.draw do
  devise_for :users


  authenticated :user do
    root "pages#userpanel"
  end

  root "pages#userpanel"
  post 'account/login' => "account#login_user"     , :as => :session
  get "about" => "pages#about"
  get "userpanel" => "pages#userpanel"
  get "adminpanel" => "pages#adminpanel"
  get "encuesta" => "encuesta#show", :as => :encuesta
  get "proyectoriocali" => "proyectoriocali#show", :as => :proyectoriocali
  get "videos" => "videos#show", :as => :videos
end

这是我的application_controller.rb

代码语言:javascript
复制
class ApplicationController < ActionController::Base

  protect_from_forgery with: :exception

  before_filter :configure_permitted_parameters, if: :devise_controller?

  protected

  def configure_permitted_parameters
    params = [:name, :lastname, :username, :phone, :country, :city,
      :born_date, :website, :facebook, :twitter, :avatar]

    devise_parameter_sanitizer.permit(:sign_up, keys: params)
    devise_parameter_sanitizer.permit(:account_update, keys: params)
  end


  def last_dream
    Dream.where( user_id: current_user.id ).last
  end

  def after_sign_in_path_for(resource)
    if last_dream == nil
      new_dream_path
    else
      "/dreams/#{last_dream.id}"
    end
  end
end

在我的localhost中,我想在没有确认的情况下登录我的用户,因此我退出了model/user.rb中的confirmable选项:

代码语言:javascript
复制
class User < ActiveRecord::Base
  has_merit
  has_many :dreams
  has_many :microposts
  has_many :solutions
  has_many :complices
  has_attached_file :avatar, styles: { :medium => "100x100#", :thumb => "100x100#" }, :default_url => "/images/:style/missing.png"
  validates_attachment_content_type :avatar, content_type: %w(image/jpeg image/jpg image/png image/gif), message: 'Ingresa tu avatar en extensión jpg o png'
  validates_uniqueness_of :username, message: ": Este nombre de usuario ya se encuentra registrado"
  #validates :country, presence: { message: ": Por favor ingresa el país en donde vives" }
  validates :username, presence: { message: ": Por favor ingresa un nombre de usuario" }

  #def mydreams
  #  Dream.where(user_id: 7).count
  #end

  # Include default devise modules. Others available are:
  # :confirmable, :lockable, :timeoutable and :omniauthable
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable

  def fullname_present?
    name.present? &&
    !name.blank? &&
    lastname.present? &&
    !lastname.blank?
  end

  def half_name_present?
    name.present? &&
    !name.blank? ||
    lastname.present? &&
    !lastname.blank?
  end

end

但是在我登录我的用户后,我得到了这个错误:

路由错误uninitialized constant AccountController Rails.root: /mnt/f/lapapayaweb/lapapaya2/lapapaya2/lapapaya

?这个错误是什么意思?

感谢您的帮助!

EN

回答 1

Stack Overflow用户

发布于 2020-02-05 12:09:58

这意味着您没有任何名为“account”的控制器。请更改您的路线:

代码语言:javascript
复制
post 'account/login' => "account#login_user"     , :as => :session

至:

代码语言:javascript
复制
devise_for :users, controllers: { sessions: 'users/sessions' }

要获得更多信息,请阅读以下内容:

https://github.com/heartcombo/devise#configuring-routes

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60068640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档