0
레코드는 기본 범위로 추가되지만 필수는 아닙니다.기본 범위가있는 has_many를 통해 레코드 추가
class PostsTag
# published is false by default
end
class Post
has_many :posts_tags
{published: true, private: false}.each do |key, val|
has_many "#{key}_tags",
through: "posts_tags",
conditions: ["posts_tags.published = ?", val],
source: :tag
end
end
#--------------------
Post.first.published_tags << Tag.first
Post.first.published_tags.count # = 0
Post.first.private_tags.count # = 1
내가 잘못 했습니까? 진심으로 감사드립니다.
죄송합니다. 게시 된 깃발은 PostsTag 모델에 배치되어 있습니다. 당신의 대답은 간단한 has_many 연관에 대해서는 잘 작동하지만 "has_many through"associations에 대해 수정해야하는 것처럼 보입니다 ... – gayavat
PublishedPostsTag와 PrivatePostsTag를 default_scope로 추가 할 수는 있지만보기에는 약간 엉망입니다. 이 경우 – gayavat
published_tag_ids가 작동하지 않습니다. – gayavat