0

根据用户是否登录,我怎样才能拥有完全不同的布局?

4

1 回答 1

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视图文件放在布局目录中。

于 2012-07-07T01:22:49.097 回答