【问题标题】:ruby on rails: hierarchy model with multiple parentsruby on rails:具有多个父级的层次结构模型
【发布时间】:2016-06-23 19:26:16
【问题描述】:

我目前正在使用祖先 gem 来制作我的“帖子”的层次结构列表,但我需要选择一个孩子有多个父母,而对于祖先我不能这样做。各位有什么解决办法吗?用其他宝石调整血统或改用其他宝石。谢谢

【问题讨论】:

    标签: ruby-on-rails ancestry


    【解决方案1】:

    使用 HABAM 关联

    您想要实现的本质上是has_and_belongs_to_many 关系。您可以在自己身上建立一种关系,这应该可以解决问题。如果您需要有关如何通过 HABTM 关联执行此操作的帮助,here is a SO answer 将显示如何操作。

    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 gem 来标记您的帖子。如果您创建一个模型或枚举来保存您的标签,那就更好了,这样您在标记时就不会输入错误。

    您可以这样查询您的帖子:

    Post.tagged_with(["ruby", "rails"], :any => true)
    

    【讨论】:

    • 这是单表的吗?
    • 是的,它是针对单个表的。
    猜你喜欢
    • 1970-01-01
    • 2013-12-11
    • 1970-01-01
    • 2012-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多