我想将布局设置到我的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,但我真的不想这样做。
答案 0 :(得分:1)
似乎可以在没有device_controller的情况下指定布局?或重写SessionsController。要指定布局,请将以下内容放在 application.rb :
中config.to_prepare do
Devise::SessionsController.layout "single_column_with_banner"
end