Pau*_*ane 14 layout ruby-on-rails devise
我正在尝试设计从某些方面的默认值中显示不同的布局模板.
当用户进入登录页面时,我有这个工作,但我需要显示不同的布局,以便注册,忘记密码和重置.
这是我的应用程序控制器中的当前代码:
layout :layout
private
def layout
# only turn it off for login pages:
is_a?(Devise::SessionsController) ? "login" : "application"
# or turn layout off for every devise controller:
#devise_controller? && "application"
end
Run Code Online (Sandbox Code Playgroud)
zol*_*ter 36
将这行代码添加到您的application.rb:
config.to_prepare do
Devise::SessionsController.layout "your_layout_name"
Devise::RegistrationsController.layout "your_layout_name"
Devise::ConfirmationsController.layout "your_layout_name"
Devise::UnlocksController.layout "your_layout_name"
Devise::PasswordsController.layout "your_layout_name"
end
Run Code Online (Sandbox Code Playgroud)
如果您希望所有Devise视图具有相同的布局,除非用户正在编辑其数据时,您可以使用以下内容:
config.to_prepare do
Devise::SessionsController.layout "your_layout_name"
Devise::RegistrationsController.layout proc{ |controller| user_signed_in? ? "application" : "your_layout_name" }
Devise::ConfirmationsController.layout "your_layout_name"
Devise::UnlocksController.layout "your_layout_name"
Devise::PasswordsController.layout "your_layout_name"
end
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请阅读本文
ste*_*och 33
如果您将备用布局命名为devise.html.erb,那么gem的控制器将自然地使用它,而无需询问.保存一些代码.
| 归档时间: |
|
| 查看次数: |
15999 次 |
| 最近记录: |