gpt4 book ai didi

ruby-on-rails-3.1 - 设计覆盖注册 Controller - 未初始化的常量 Users::RegistrationsController

转载 作者:行者123 更新时间:2023-12-03 21:40:23 27 4
gpt4 key购买 nike

我正在尝试覆盖默认设计注册 Controller 的某些功能,以便只有某些用户可以为其他用户创建帐户。因此,在 Controller /用户文件夹下名为 registrations_controller.rb 的文件中,我有以下内容

class Users::RegistrationsController < Devise::RegistrationsController

before_filter :check_permissions, :only => [:new, :create, :cancel]
skip_before_filter :require_no_authentication

def check_permissions
authorize! :create, resource
end
end

在我的路线文件中我有

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

当我尝试转到 users/sign_up url 时,我收到一个路由错误“未初始化的常量 Users::RegistrationsController”。

所以真正让我感到奇怪的是,我在 rails 3 应用程序中使用了几乎完全相同的功能,没有出现任何问题。我查看了一些与此类似的其他 stackoveflow 问题,但我仍然不知道。我现在正在构建的应用程序是 Rails 3.1 应用程序,我使用的是设计 1.5.1

这是相关的路线,如果它们有用的话
new_user_session GET    /users/sign_in(.:format)                                      {:action=>"new", :controller=>"devise/sessions"}
user_session POST /users/sign_in(.:format) {:action=>"create", :controller=>"devise/sessions"}
destroy_user_session DELETE /users/sign_out(.:format) {:action=>"destroy", :controller=>"devise/sessions"}
user_password POST /users/password(.:format) {:action=>"create", :controller=>"devise/passwords"}
new_user_password GET /users/password/new(.:format) {:action=>"new", :controller=>"devise/passwords"}
edit_user_password GET /users/password/edit(.:format) {:action=>"edit", :controller=>"devise/passwords"}
PUT /users/password(.:format) {:action=>"update", :controller=>"devise/passwords"}
cancel_user_registration GET /users/cancel(.:format) {:action=>"cancel", :controller=>"users/registrations"}
user_registration POST /users(.:format) {:action=>"create", :controller=>"users/registrations"}
new_user_registration GET /users/sign_up(.:format) {:action=>"new", :controller=>"users/registrations"}
edit_user_registration GET /users/edit(.:format) {:action=>"edit", :controller=>"users/registrations"}
PUT /users(.:format) {:action=>"update", :controller=>"users/registrations"}
DELETE /users(.:format) {:action=>"destroy", :controller=>"users/registrations"}

最佳答案

我会说,你的文件名有问题。

您的文件应命名为 users/registrations_controller.rb
这对我行得通。

关于ruby-on-rails-3.1 - 设计覆盖注册 Controller - 未初始化的常量 Users::RegistrationsController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8466822/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com