【发布时间】:2019-04-29 12:10:53
【问题描述】:
标题可能没有正确描述我的问题,我不知道如何在没有视觉效果的情况下解释我在做什么。
我有一组障碍,每个障碍都连接到一个情节(一个情节有很多障碍)。每个地块都链接到一个开发项目(一个开发项目有许多地块)。每个开发都链接到一个用户(一个用户有许多开发)。
我想返回与每个开发人员相关的障碍列表。
我目前在我的 snags 控制器中有以下内容:
def index
@developments = Development.accessible_by(current_ability)
.where(enable_snagging: true)
@developments.each do |development|
@plots = development.plots
get_snags(@plots)
end
end
private
def get_snags(plots)
plots.each do |plot|
@plot_snags = Snag.where(plot_id: plot.id)
end
end
在我看来:
<table class="record-list snags">
<thead>
<tr>
<th><%= sortable(@snags, :id) %></th>
</tr>
</thead>
<tbody>
<% @snags.each do |snag| %>
<tr data-snag="<%= snag.id %>">
<td><%= snag.id %></td>
</tr>
<% end %>
</tbody>
</table>
我最初在控制器中用@snags 代替了@plot_snags,但当然只返回了最后一个snag / 一组snag,而不是全部。
如果我尝试创建并返回一个@snags 数组并将@plot_snags 中的每个对象添加到其中(或将@snags 声明为数组的任何其他变体),我会得到:
undefined method `human_attribute_name' for #<Array:0x007ff5334861d0>
我不知道我在这里做错了什么。
更新
今天再次以全新的眼光看待它 - 我无法弄清楚为什么我的连接表没有填充,我今天将再次查看它以让事情“正常”工作 - 结果是错误我得到的是由于我试图在视图中实现的 Sortable 接口。删除 Sortable 后,我就可以填充我的 snags 数组并获得我希望的输出。
【问题讨论】:
标签: ruby-on-rails arrays ruby