我目前正在使用祖先宝石来完成我的"帖子"的层次结构列表,但是我需要有多个父母的选择,而有了祖先,我无法去做。你们有解决方案吗?与其他宝石或使用其他宝石一起调整祖先。谢谢
使用habatm关联
您要实现的目标本质上是has_and_belongs_to_many
关系。您可以在自己身上建立关系,这应该解决问题。如果您需要有关如何使用HABTM协会来完成此操作的帮助,那么这里有一个答案,显示了如何。
class Post < ActiveRecord::Base
has_and_belongs_to_many :children,
class_name: "Post",
join_table: :children,
foreign_key: :post_id,
association_foreign_key: :child_post_id
end
或者,使用宝石
您可以使用Acts-As-taggable-On宝石来标记您的帖子。如果您创建一个符合标签的模型或枚举,那就更好了,这样您就不会在标记时误解它们。
您可以这样查询您的帖子:
Post.tagged_with(["ruby", "rails"], :any => true)