【问题标题】:Tricky Questions Answers associations? [closed]棘手的问题答案协会? [关闭]
【发布时间】:2013-12-02 21:46:50
【问题描述】:

所以我有 3 个模型..

一个用户模型、一个问题模型和一个答案模型。

一个用户有_很多问题,问题属于_用户

一个问题有_一个答案,而答案属于_这个问题。

现在我创建了适用于所有用户的默认种子问题,即@questions = Question.all

每个用户都可以看到这些相同的问题,现在我如何允许每个用户在这些问题与问题没有直接关联的情况下编写自己的答案?

即u.questions.answer 返回答案未定义。

【问题讨论】:

  • u.questions 将返回一个数组,因此在其上调用 .answer 不会得到任何东西。试试u.questions.first.answer,看看你会得到什么。
  • 谢谢@MikeManfrin - 结果还是一样,返回未定义的方法答案。突然想到一个想法,也许我可以在以某种方式创建新用户时将这些问题添加给用户?嗯...

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 associations


【解决方案1】:

我推荐一个有多个直通关联,在中间表中带有一个指向答案的链接。因此:

class User < ActiveRecord::Base
  has_many :user_questions
  has_many :questions, through: :user_questions
end

class UserQuestion < ActiveRecord::Base
  belongs_to :user
  belongs_to :question
  belongs_to :answer
end

通过这种方式,您可以创建可以与用户关联或不关联的问题,还可以链接到他们的答案(如果存在)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-16
    • 1970-01-01
    • 1970-01-01
    • 2022-06-16
    • 1970-01-01
    相关资源
    最近更新 更多