0

私は2つのレイアウトを持っています:admin_layout.html.erbapplication.html.erb。管理者はで作業し、admin_layoutユーザーを作成します。showの下に各ユーザーのページがありますadmin_layoutshowしかし、今、私は一般の人々に、レイアウトの下に各ユーザーのページの公開バージョンを表示してもらいたいと思いapplicationます。showレイアウトに応じて2つの異なるアクションを表示することは可能ですか、それとも?のようなものを作成する必要がありpublic_users_controllerますか?

4

1 に答える 1

0

アクションで使用するレイアウトを指定できます。また、現在のアクションの名前とは異なるテンプレートをレンダリングするように指示することもできます。この例では、パブリックユーザーにはレイアウトapp/views/users/public_show.html.erbを使用してファイルが表示されapp/views/layouts/application.html.erbます。

def show
  if current_user.admin? # Or however you want to determine which layout to use
    render :layout => "admin_layout"
  else
    render "public_show", :layout => "application"
  end
end
于 2013-03-05T19:22:50.007 に答える