我在Rails中有这个循环,我想在每个region_id
下列出每个关联的region.name
。到目前为止,每个region.name
我都会得到所有项目的列表。
Region has_many :trials
Trials belongs_to :region, :primary_key => 'region_id'
查看
<% @regions.each do |region, list| %>
<h3><%= region.region.name %></h3>
<table class="table">
<% list.each do |list| %>
<tr>
<td>
<%= link_to list.site.site_name, trial_trials_path(trial_id: list.trial_id) unless list.site.site_name.blank? %>
</td>
<td>
<%= link_to list.trial_type, trial_trials_path(trial_id: list.trial_id) unless list.trial_type.blank? %>
</td>
<td>
<%= link_to list.grower.name, trial_trials_path(trial_id: list.trial_id) unless list.grower.name.blank? %>
</td>
</tr>
<% end %>
</table>
<% end %>
</div>
控制器
def index
list = Trial.where('year = ?', Time.now.year).order(:region_id)
@regions = list.group_by { |t| t.region_id }
end
答案 0 :(得分:1)
在您的控制器中,您必须按区域对项目进行分组,并将group_by添加到您关闭的位置
在您看来,您可以使用@list [region] .each
遍历您的项目