我有两个模型,用户和问题事件。

    class User < ActiveRecord::Base
    ...
    has_many :questions
    has_many :asked_questions, :class_name => 'QuestionEvent', :foreign_key => 'questioner_id'
    has_many :received_questions, :class_name => 'QuestionEvent', :foreign_key => 'respondent_id'
    end

    class QuestionEvent < ActiveRecord::Base
    ...
    belongs_to :question
    belongs_to :questioner, :class_name => 'User'
    belongs_to :respondent, :class_name => 'User'
    end

当我调用QuestionEvent.first.questioner或QuestionEvent.first.reporter时,我得到了预期的用户但是,如果给User.first.asked_打电话,我会问:
NoMethodError: undefined method `asked_questions' for #<User:0x007fc687d53ae0>

有人知道我在这里犯了什么错误吗?
QuestionEvent的数据库架构为:
  t.integer :question_id
  t.integer :questioner_id
  t.integer :respondent_id

最佳答案

你说你通过重启控制台解决了问题这很好,但更好的解决方案是运行命令reload!。这样,你就不必重新开始。

09-27 09:35