그래서 저는 레일을 배우려고 노력 중이며 아직 속임수를 쓰고 싶지 않습니다.레일스는 acts_as_taggable을 사용하지 않고 특정 태그가있는 모든 게시물을 찾습니다.
포스트 모델 :
class Post < ActiveRecord::Base
has_many :features
has_many :tags, :through => :features
end
태그 모델 :
class Feature < ActiveRecord::Base
belongs_to :tag
belongs_to :post
end
은 이미 방법을 알고
class Tag < ActiveRecord::Base
has_many :features
has_many :posts, :through => :features
end
테이블 조인 수행하여 태그와 연관 게시물 : Post.find_by_id (1) < < Tag.first 이제
, 나는 특정 태그 게시물 검색에 갇혔어요. "수영", "실행 중", "돈 벌기" 중 하나 이상을 포함하는 모든 게시물을 검색하려면 어떻게합니까?
Post1 태그를 포함 : "자전거 타기", "암벽 등반", "수영"
이Post2 태그 포함 : "개구리", "물고기"
이포스트 3 태그를 포함을 "돈을 버는", "수영 ","자전거 타기 ","사랑 "
Post4 태그를 포함 :"수영 "
내가 사용자의 이익을 가장 먼저 표시하기 위해 일치하는 게시물을합니다.예 : 사용자는이 순서로 게시물 목록을 볼 수 있습니다. post3, post1, post4. 이것이 너무 어렵다면 정확한 태그가있는 모든 게시물을 찾는 방법으로 충분할 것입니다. 당신은
@tag.posts
당신이 has_and_belongs_to_many
관계를 사용하지 않은 어떤 이유가 있습니까을 할 수 있어야
흠 작동하지만 대부분의 태그와 일치하는 게시물을 표시하려면 어떻게해야합니까? 이 하나의 태그가있는 모든 게시물과 일치합니다. – Mason
이것은'PostsController' 또는'TagsController'에 있습니까? –
난 그냥 레일 콘솔 atm을 사용하고 있습니다. 하지만 앞으로 PostsController에 들어갈 것입니다. 또한 has_and_belongs_to_many를 사용하지 않은 진짜 이유가 없습니다. – Mason