2016-07-19 2 views
1

:特定のビューで私はapplication.html.erbに部分的な部分がありますが、特定のビューでそれを削除するにはどうすればよいですか?私が持っている<code>application.html.erb</code>のボディで

<%= render 'layouts/header'%> 
<%= yield %> 
<%= render 'layouts/footer'%> 

は、私は部分的フッターを削除するか、またはそれ以外の場合は、ビューに表示されませ持っていると思います。私はこれをどのようにするべきですか?

答えて

2

部分条件をレンダリングするための条件を以下に設定できます。

<%= render 'layouts/header'%> 
<%= yield %> 
<% unless controller_name=="sessions" && action_name=='new' %> 
    <%= render 'layouts/footer'%> 
<%end%> 
+0

これは、テンプレートに対するこのようなマイナーな変更に対して別のレイアウトを作成するよりも優れています。テンプレートが大きくなるにつれて、コードをDRYにすることは重要です。 – miccet

-1

以下のような状態が考えられます。

<%= render 'layouts/header'%> 
<%= yield %> 
<% unless params[:controller] == "controllername" && params[:action] == "actionname" %> 
    <%= render 'layouts/footer'%> 
<%end%> 
+0

私はあなたがそれを行うことができるか分からなかった。私のコントローラが 'sessions'で、私のアクションが' new'の場合は 'controller [:sessions] && action [:new]'でしょうか? –

関連する問題