0

Dogs 태그를 원하는대로 나열하는 데 문제가 있습니다. 내 Tag 클래스에는 3 가지 다른 tag_types이 있습니다. 빨간색, 파란색 및 녹색입니다.특정 유형의 태그 클래스를 나열하려면 어떻게합니까?

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 태그에 대한 모든 결과는 같습니다. 각 블록에 대해 올바른 것을 어떻게 표시 할 수 있습니까?

+1

이 시도 할 수 있습니다 'dog.tags.where (tag_type : "Red"). last (3)' –

+0

@Thahakp 네,이 간단한 변경 작업을했다. 이 답변을 대신 할 수 있을까요? 나는 너에게 신용을주고 싶다. 고맙습니다. – user2784630

+1

필요 없음. 귀하의 의견은 충분하다 :) –

답변

0

Thahakp 덕분에 wheredogs.tags에 추가하는 것이 었습니다.