Я читал похожие статьи, такие как Переопределить контроллер регистраций devise , но Devise в моем приложении переопределяется неправильно.
Я использую Devise 1.4.2 и Rails 3.0.9на моем Mac (OSX 10.6.8).
# app/controllers/registrations_controller.rb
class RegistrationsController < Devise::RegistrationsController
def new
debugger
end
def create
debugger
end
end
# config/routes.rb
devise_for :users, :controllers => {:registrations => "registrations"}
Затем я запустил свой локальный сервер с параметром --debugger (установлен ruby-debug19), а при доступе к / users / sign_up отладчик нетриггер.
rails server --debugger
Started GET "/users/sign_up" for 127.0.0.1 at 2011-07-11 21:21:46 +0900
Processing by Devise::RegistrationsController#new as HTML
Rendered devise/shared/_links.erb (3.8ms)
Rendered devise/registrations/new.html.erb within layouts/application (20.4ms)
Обновлено: я проверил свою маршрутизацию с помощью «рейковых маршрутов», но маршрутизация для sign_up по-прежнему остается такой, как показано ниже.
user_registration POST /users(.:format) {
:action=>"create", :controller=>"devise/registrations"}
new_user_registration GET /users/sign_up(.:format) {
:action=>"new", :controller=>"devise/registrations"}
Я хочу: контроллер указывает «регистрации»"(без" devise / ") когда POST.Чего мне не хватает?