动态布局内容和rails请求方法

时间:2014-07-02 17:01:52

标签: html ruby-on-rails layout

所以我的基本问题是这个,我希望我的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 。有人能指出我在正确的方向吗?

1 个答案:

答案 0 :(得分:1)

这样做的一种方法是使用yieldcontent_for指令。例如

布局

你可以这样做:

<%= yield :footer_links %>

在显示页面

你可以这样做:

<% content_for :footer_links do %>
  <%= link to 'edit', edit_<resource>_path(resource) %>
<% end %>

等等。您可以通过yield将任何内容传递到content_for块。