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