如何根据用户是否登录来设置完全不同的布局?
答案 0 :(得分:1)
按照
的说明进行操作
https://github.com/plataformatec/devise/wiki/How-To%3a-Create-custom-layouts
如果用户登录则进行检查,设计意味着检查
user_signed_in?
,这是一个设计助手。
具体做法是:
class ApplicationController < ActionController::Base
layout :layout_by_resource
protected
def layout_by_resource
if user_signed_in?
"special_layout_name_for_logged_in"
else
"application"
end
end
end
并将special_layout_for_logged_in.html.erb
视图文件放在layouts目录中。