2010-12-18 84 views
0

我做了這個左側導航欄中,像下面我想在這兩個Drummer模型和Video模型圖片部分,alt text 所以我選擇使用部分 _drummers_list.html.erb在兩個不同型號的模板

<div id="columnleft"> 
<img src="/img/alldrummerup.png" alt="" width="150" height="60" /> 
<% @drummer_list.each do |d| %> 
<%= link_to d do%> 
<%= d.first_name + ' ' + d.last_name %> 
<% end %> 
<% end %> 
<img src="/img/drummerdown.png" alt="" width="96" height="42" /> 
</div><!--columnleft--> 

問題是僅在鼓手控制器中提供了@drummer_list實例變量,所以我必須在視頻控制器中再次寫入它,因爲DRY原則,我認爲使用某種方法只需寫一次@drummer_list並使用它無處不在

我沒花太多時間學習Ruby語言,這是Rails的基礎,我想這就是爲什麼我無法弄清楚。

+0

你的問題是什麼? – 2010-12-18 07:26:06

回答

0

您可以在application_controller.rb中定義一個方法,該方法將爲其他兩個控制器共享。也許是這樣的:

def find_drummers 
    @drummer_list = Drummer.find :all 
end 

然後從鼓手控制器和視頻控制器調用它。我假設你的實際方法可能會更復雜。你也可以在你的Drummer模型對象上放置一個finder方法,並從兩個控制器中調用它。

+0

謝謝。這就是我想要的答案 – mko 2010-12-20 07:01:44

相關問題