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