【问题标题】:Routing Issue Devise路由问题设计
【发布时间】:2017-05-17 10:17:24
【问题描述】:

我与此设计路线错误堆栈。这个问题只在我的生产中 服务器,但在我的本地没有问题。

我正在使用 Phusion Passenger Apache。对于我的生产设置。错误是。

uninitialized constant User::RegistrationsController

我的路线.rb

devise_for :users, :controllers => { registrations: 'user/registrations'}

覆盖控制器的路径是

 app/controllers/User/registrations_controller.rb

app/controllers/User/registrations_controller.rb

 class User::RegistrationsController < Devise::RegistrationsController
  before_filter :authenticate_person!, :redirect_unless_admin


  def create
      build_resource(sign_up_params)
      resource.save
      yield resource if block_given?

  if resource.persisted?
     if resource.active_for_authentication?
     set_flash_message! :notice, :signed_up
    #sign_up(resource_name, resource)
    #respond_with resource, location: 
     after_sign_up_path_for(resource)
    redirect_to new_user_registration_path
  else
    set_flash_message! :notice, :"signed_up_but_#{resource.inactive_message}"
    expire_data_after_sign_in!
   # respond_with resource, location: after_inactive_sign_up_path_for(resource)
  end
else
  clean_up_passwords resource
  set_minimum_password_length
  respond_with resource
end
end

private

def redirect_unless_admin
  unless current_person.is_a?(Admin)     
    redirect_to root_path
  end
end


 def sign_up_params
    params.require(:user).permit(:username,:email, :password, :password_confirmation,:company, :branch, :branch_id)
 end

 def account_update_params
params.require(:user).permit(:username, :branch, :company, :email, :password, :password_confirmation, :current_password)
end
end

非常需要帮助,谢谢。

【问题讨论】:

  • 能否请您出示您的注册管理员?此外,除非另有说明,否则路径总是小写,但我认为这不会导致问题
  • @Mark 我添加了registrations_controller.rb
  • 路径必须小写,user不是User
  • 您好,大写问题用户应该是用户。非常感谢 Icemen 和 Mark

标签: ruby-on-rails ruby-on-rails-4 devise


【解决方案1】:

我认为问题在于您的路线本身,应该是用户/注册而不是用户/注册。

如果这仍然不起作用,请将其留在路由中的用户/注册处,并将您的控制器保存在:

app/controllers/users/registrations_controller.rb

并将第一行更改为:

module Users
  class RegistrationsController < Devise::RegistrationsController

这应该解决它

编辑:正如最初的评论中提到的,路径都是小写的

【讨论】:

    猜你喜欢
    • 2013-04-14
    • 2013-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多