Я пытаюсь переопределить некоторые функции контроллера регистрации devise по умолчанию, чтобы только одни пользователи могли создавать учетные записи для других. Таким образом, в файле registrations_controller.rb в папке controllers / users у меня есть следующее
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'}
Когда я пытаюсь перейти к URL-адресу users / sign_up, я получаю ошибку маршрутизации «неинициализированная константа Users :: RegistrationsController».
Итак, что меня по-настоящему удивляет, так это то, что я использовал практически ту же самую функциональность в приложении rails 3 без проблем. Я взглянул на некоторые другие вопросы стека потока, похожие на этот, и я до сих пор не мудрый. Приложение, которое я создаю сейчас, является приложением rails 3.1, и я использую devise 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"}