我无法按照我希望的那样列出Dogs
代码。我的tag_types
课程中有3个不同的Tag
,分别是红色,蓝色和绿色。
class Tag
has_many :taggings
has_many :dogs, through: :taggings
TAG_TYPES = %w(Red Blue Green)
validates :tag_type, inclusion: { :in => TAG_TYPES }
end
class DogsController
def index
@dogs = Dog.text_search(params[:query]).page(params[:page]).per_page(5)
end
end
我正在搜索Dog
,它可以包含所有3种标记类型。我想分别列出每种类型的最后3个添加标签,如下所示:
狗/ index.html.erb
<% @dogs.each do |dog| %>
<% dog.tags(:tag_type => "Red").last(3).each do |tag| %>
<%= tag.name %>
<% end %>
<% dog.tags(:tag_type => "Blue").last(3).each do |tag| %>
<%= tag.name %>
<% end %>
<% dog.tags(:tag_type => "Green").last(3).each do |tag| %>
<%= tag.name %>
<% end %>
<% end %>
我尝试了这个,但它列出了任何标签,无论颜色如何,所以列出3个标签的所有结果都是相同的。我怎样才能为每个块显示正确的?
答案 0 :(得分:0)
感谢Thahakp,简单的改变就是将where
添加到dogs.tags
。