1
爲了簡單起見,最好使用泛音,讓我們說我有這樣的事情與標籤
<div class='important_class'>
<%= @model.attribute %>
</div>
想象important_class
DIV竟是申報單的大型層次結構,並有像7個關閉標籤。現在想象我擁有5個完全相同外觀的視圖,除了中心的內容外,我可能有@model1.attribute
,model2.attribute
等等。在這種情況下使用partials的最佳方式是什麼?
提出的解決方案1
請2個泛音稱爲_top_part.html.erb
和_bottom_part.html.erb
包含頂部部分和底部部分,然後在不同的視圖中使用它們。和代碼將如下所示
<%= render 'top_part' %>
<%= @model.attribute %>
<%= render 'bottom_part' %>
提出的解決方案2
在控制器級別,傳遞變量到視圖,以確定呈現哪些部分,它看起來像
<div class='important_class'>
<%= render @place+'_partial' %>
</div>
我不喜歡解決方案2的原因是因爲@place與partials緊密耦合,並且您可能會從許多不同的控制器渲染相同視圖時出現奇怪的行爲。
對此提出建議?
這不是我真正要問的。 '<%= @ model.attribute%>'更像是一個例子。它可以是任意複雜的身體代碼。 – vinceh 2012-03-24 06:43:53