如何在rails中组织这个布局?

时间:2011-08-19 21:37:08

标签: ruby-on-rails dry

我有这种布局,它有几个“盒子”,每个视图都有不同的内容。剩下的就是所有人都一样。

此框位于我的布局中,如= yield :box_1= yield :box_2等。在我的观看中,我使用以下内容填充它们:

- content_for :box_1 do
  = render 'partials/box_1', :product => @product

- content_for :box_2 do
  = render 'partials/box_2', :product => @product

,等等。

问题是我在每个视图中都在上面写这些行,而且它看起来绝对不干净。什么是更好的选择来完成这个?

1 个答案:

答案 0 :(得分:2)

我认为帮手将是您可以做的第一件也是最简单的事情。

def content_for_boxes(product)
  content_for(:box_1) { render 'partials/box_1', :product => product }
  content_for(:box_2) { render 'partials/box_2', :product => product }
end

然后你可以把这个助手放到你的布局中。

- content_for_boxes(@product) if defined?(@product)

然后,只有拥有产品才能呈现内容。但是你也可以直接在那里进行渲染。