从多个关系中提取相关数据的最佳方法是什么?
如果我的任务和类别通过分类加入,我想在索引视图中显示任务及其相关类别的列表。
我已尝试将以下内容放入我的控制器中:
@tasks = Task.find(:all, :include => :taskcategories )
但是失败了。
在我看来,我试过这个:
<% for task in @tasks %>
<li><%= task.title %> <%= task.taskcategory_name %></li>
<% end %>
那也失败了。
答案 0 :(得分:1)
鉴于您的关联定义是正确的,您可以:
@tasks = Task.find(:all, :include => :categories)
...并在视图中:
<% for task in @tasks %>
<li><%= task.title %> <%= task.categories.map{|c| c.name}.join(', ') %></li>
<% end %>