2011-06-16 21 views
0

從多個關係中提取相關數據的最佳方式是什麼?has_many通過提取相關的值

如果我的任務和類別通過分類結合,我想在我的索引視圖中顯示任務及其相關類別的列表。

我試圖把在我的控制器如下:

@tasks = Task.find(:all, :include => :taskcategories) 

但是失敗了。

在我看來,我嘗試這樣做:

<% for task in @tasks %> 

<li><%= task.title %> <%= task.taskcategory_name %></li> 

<% end %> 

這也將失敗。

+0

什麼是你的模型的準確名稱? (即它是「任務」和「類別」,還是它是「任務」和「任務類別」?) – 2011-06-16 17:21:16

回答

1

鑑於你聯想定義是正確的,你可以:

@tasks = Task.find(:all, :include => :categories) 

...並在視圖中:

<% for task in @tasks %> 
    <li><%= task.title %> <%= task.categories.map{|c| c.name}.join(', ') %></li> 
<% end %> 
+0

謝謝,這真的很有幫助。這是我無法解決的最後一點 - 我可以在哪裏閱讀更多關於此的內容? Jx – 2011-06-16 19:03:52

+0

如果你是從rails開始的,我建議http://guides.rubyonrails.org/。 – moritz 2011-06-16 21:37:10