作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 has many through 关系来定义用户已回答的问题。
如何为用户创建的问题建立关系?
通常你会在用户和问题之间创建一个 has_many 和 belongs_to 关系,但是因为我也在做一个 has_many 通过这将不起作用。
这是我目前所拥有的:
模型:
Users
Questions
Answered_questions
用户模型
has_many :answered_questions
has_many :questions, :through => :answered_questions
问题模型:
has_many :answered_questions
has_many :users, :through => :answered_questions
Answered_questions 模型
belongs_to :question
belongs_to :user
编辑
我找到了这个答案:https://stackoverflow.com/a/12637532/756623 ,这促使我尝试这样做:
添加用户模型:
has_many :questions_created, :class_name => "Question", :inverse_of => :created_by
问题模型添加:
belongs_to :created_by, :class_name => "User", :foreign_key => "created_by_id", :inverse_of => :questions_created
我还将 created_by_id
列添加到 Questions 表中
现在...user_id
未添加到 created_by_id
列。
我有什么问题吗?
最佳答案
我认为这样的事情可以解决您的问题:
# User
has_many :answered_questions
has_many :questions, :through => :answered_questions
has_many :created_questions, class_name: Question, foreign_key: :author_id
# Question
has_many :answered_questions
has_many :users, :through => :answered_questions
belongs_to :author, class_name: User
# Answered questions
belongs_to :question
belongs_to :user
关于ruby-on-rails - rails : has_many through between two models and also a has_many/belongs to on the same models,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15056096/
我是一名优秀的程序员,十分优秀!