我有一个Lines
使用ancestry
宝石的模型。
A line can have children and parent lines.
我有一个Miniatures
模型。
Lines has_many Miniatures through the Minilines table.
在我的线条视图中,我可以显示该线条的所有相关缩影。这样可行。
我想做的是展示该系列的所有相关缩影,以及它的孩子。
它需要使用 distinct true 或 uniq 以防缩图与 Line 及其子树 Lines 之一相关联。
在与一些研究祖先宝石的人交谈时,我认为以下内容:
<% Miniature.select('distinct *').joins(:lines).where(@line.subtree_conditions).each do |miniature| %>
<%= link_to miniature.name, miniature %><br />
<% end %>
他不认为我的问题是 gem 的问题,而是 rails 的问题。
该代码所做的是与缩影(正确)建立链接,但使用该缩影所属的行的 and ,而不是name
缩影的and 。经过大量的摆弄,我离让它工作很近了。id
name
id
我把代码改成了这个
<% Line.select('distinct *').joins(:miniatures).where(@line.subtree_conditions).each do |miniature| %>
<%= link_to miniature.name, miniature %><br />
<% end %>
它现在输出正确的外观。的name
缩影。它也有正确的miniature_id
但令人困惑的是链接到line
路径而不是miniature
路径。例如,它显示了微型数字 3 的名称,但链接到localhost:3000/lines/3
.
我会继续摆弄它,但如果有人能看到确切的问题,我会欣喜若狂。
干杯。