在我的ApplicationController中我想做这样的事情:
def layout_by_resource
if user_signed_in? || request.controller == 'ChatRoom'
"application"
else
"unauthorized"
end
end
request.controller =='ChatRoom'部分可能吗?我想根据用户调用的控制器提供特定的布局。
由于
答案 0 :(得分:4)
当然,您只需将request.controller == 'ChatRoom'
替换为params[:controller] == 'ChatRoom'
替代解决方案:
request.filtered_parameters["controller"] == 'ChatRoom'
答案 1 :(得分:1)
我认为您可以在控制器级别执行此操作。
def chatroom
render(:layout => "layouts/application")
end
答案 2 :(得分:1)
的ApplicationController:
layout :layout_by_resource
def layout_by_resource
if user_signed_in? || params[:controller] == 'chat_room'
"application"
else
"unauthorized"
end
end