Отсутствует помощник "devise_controller?" в ApplicationController - PullRequest
2 голосов
/ 21 февраля 2012

Я хотел установить макет на своей странице входа в Devise, поэтому я добавил в свой ApplicationController следующее:

class ApplicationController < ActionController::Base
  protect_from_forgery

  if devise_controller?
    layout "single_column_with_banner"
  end
 end

Однако я получаю следующую ошибку: undefined method `devise_controller?'для ApplicationController: Class

Я вижу, что вспомогательный метод указан в devise.rb, но я просто не могу получить к нему доступ из контроллера приложения.Я использую Rails 3.2 (в процессе миграции с 2.3).Какие-нибудь подсказки, где я должен смотреть?В крайнем случае я могу переопределить SessionsController, но пока не хочу этого делать.

1 Ответ

1 голос
/ 24 февраля 2012

Кажется, что макет может быть указан без какого-либо device_controller? или переопределение SessionsController. Чтобы указать макеты, поместите следующее в application.rb :

config.to_prepare do
  Devise::SessionsController.layout "single_column_with_banner"
end
...