缺少帮手“devise_controller?”在ApplicationController中

时间:2012-02-21 06:23:38

标签: ruby-on-rails devise ruby-on-rails-3.2

我想将布局设置到我的Devise登录页面,所以我将以下内容添加到我的ApplicationController中:

class ApplicationController < ActionController::Base
  protect_from_forgery

  if devise_controller?
    layout "single_column_with_banner"
  end
 end

但是,我收到以下错误: 未定义的方法`devise_controller?' for ApplicationController:Class

我可以看到在devise.rb中指定了helper方法,但我无法从应用程序控制器访问它。我正在使用Rails 3.2(从2.3迁移过程中)。我应该看的任何线索?作为最后的手段,我可​​以覆盖SessionsController,但我真的不想这样做。

1 个答案:

答案 0 :(得分:1)

似乎可以在没有device_controller的情况下指定布局?或重写SessionsController。要指定布局,请将以下内容放在 application.rb

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