所以我的基本问题是这个,我希望我的app / views / layout中有一个页脚,它会根据使用的请求方法而改变。具体来说,我希望在页脚中有一些内容可以说"编辑"在 show 请求和指向编辑请求的链接上。我现在要做的是做一些有效的事情:
<%=if method == 'edit' %>
<%= render :partial=> edit_button :object => some how get the current instance variable %>
..在我的页脚和edit_button.html.erb中将是:
<%=link to 'edit', edit_<resource>_path(resource)%>
我知道这有点模糊,但我认为是因为我没有正确地思考这个问题。我意识到我可以有三种不同的布局,一种用于&#34;编辑&#34;,&#34;显示&#34;和&#34;新&#34;,但这看起来有点矫枉过正,绝对不是DRY 。有人能指出我在正确的方向吗?
答案 0 :(得分:1)
这样做的一种方法是使用yield
和content_for
指令。例如
布局
你可以这样做:
<%= yield :footer_links %>
在显示页面
你可以这样做:
<% content_for :footer_links do %>
<%= link to 'edit', edit_<resource>_path(resource) %>
<% end %>
等等。您可以通过yield
将任何内容传递到content_for
块。