Rails 3 / devise похоже игнорирует пользовательский контроллер - PullRequest
1 голос
/ 17 марта 2012

Используя devise с приложением Rails 3, я прочитал вики / документы о том, как настроить маршрут после регистрации, я использую подтверждаемый модуль, поэтому я думаю, что мне нужно переопределить after_inactive_sign_up_path_for

Я думаю, что 'я все сделал правильно, но он полностью игнорирует мой пользовательский контроллер и все еще маршрутизируется к root_path после регистрации.Сводит меня с ума.

Моя регистрация использует модель пользователя, я скопировал представления для разработки, используя задачу создания;если я перемещаю их в представления / регистрации, устройство возвращается к представлениям по умолчанию (в геме, я думаю), поэтому, похоже, он не «замечает» мой контроллер

У меня есть это в моих маршрутах:

devise_for :users, :controllers => { :registrations => "registrations" }
match 'sign_up_done' => 'home#sign_up_done', :as => :after_sign_up

Вот мой контроллер: (controllers / registrations_controller.rb)

class RegistrationsController < Devise::RegistrationsController
  def after_inactive_sign_up_path_for(resource)
    after_sign_up_path
  end 
  def after_sign_up_path_for(resource)
   after_sign_up_path
  end
end

(добавлен after_sign_up_path_for на всякий случай, с использованием подтверждаемого)

Просто кажется, что он полностью игнорирует мойконтроллер, это неправильное наименование?Спасибо за любой вклад!

1 Ответ

0 голосов
/ 19 марта 2012

Я думаю, что ваша структура папок может иметь проблемы. попробуйте эту структуру: (она такая же, как в папке Gem)

app/controllers/devise/registrations_controller.rb
app/views/devise/registrations/new.html.erb
app/views/devise/registrations/edit.html.erb

и файл контроллера выглядит так же, как он объявлен в папке gem:

#app/controllers/devise/registrations_controller.rb

# NOT: class RegistrationsController < Devise::RegistrationsController  , 
# since you are "overwriting" it. 
class Devise::RegistrationsController < DeviseController

  def after_inactive_sign_up_path_for(resource)
    #...
  end 
end
...