2011-08-19 70 views
0

我有這個佈局,它有幾個「盒子」,每個視圖都有不同的內容。其餘的對所有人都是一樣的。如何在軌道中組織這種佈局?

這盒是在我的佈局像= 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 

等。

問題是我在每一個視圖上面寫了上面的這些行,它絕對不看幹。完成這個更好的選擇是什麼?

回答

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) 

然後,內容只應該呈現,如果你有一個產品。但是你也可以直接在那裏做渲染。