【问题标题】:Associates the same model twice in mongoid在 mongoid 中关联同一个模型两次
【发布时间】:2017-02-28 04:57:58
【问题描述】:

我有两个班级Intern::QuestionIntern::Answer,标准关联看起来像:

class Intern::Question
  has_many :intern_answers, class_name: 'Intern::Answer'
end

class Intern::Answer
  belongs_to :intern_question, class_name: 'Intern::Question'
end

现在我想引用两次答案belongs_to问题,答案可以存储父问题和下一个问题,例如:

class Intern::Question
  has_many :intern_answers, class_name: 'Intern::Answer'
  has_many :node_for_answers, class_name: 'Intern::Answer'
end

class Intern::Answer
  belongs_to :intern_question, foreign_key: :intern_question_id, class_name: 'Intern::Question'
  belongs_to :next_question, foreign_key: :next_question_id, class_name: 'Intern::Question'
end

但我已经尝试过并收到此错误:

Mongoid::Errors::AmbiguousRelationship

【问题讨论】:

  • @muistooshort 抱歉打错了..

标签: ruby-on-rails ruby-on-rails-4 mongoid


【解决方案1】:

找到解决方案here,使用inverse_of

class Intern::Question
  has_many :intern_answers, class_name: 'Intern::Answer', inverse_of: :intern_question
  has_many :node_for_answers, class_name: 'Intern::Answer', inverse_of: :next_question
end

class Intern::Answer
  belongs_to :intern_question, foreign_key: :intern_question_id, class_name: 'Intern::Question', inverse_of: :intern_answers
  belongs_to :next_question, foreign_key: :next_question_id, class_name: 'Intern::Question', inverse_of: :node_for_answers
end

【讨论】:

    猜你喜欢
    • 2016-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多