【问题标题】:Association named was not found未找到命名的协会
【发布时间】:2012-09-14 08:21:20
【问题描述】:

我在 Rails 2 中工作。我有三个表:userslms_usersgroup_details

来自usersgroup_detailslms_users id 作为外键出现。 lms_users 也有自己的属性。我无法在他们各自的模型中定义关联。我试过这个:

LmsUser 模型中

belongs_to :users
belongs_to :group_details

User 模型中

has_many :group_details , :through => :lms_users

GroupDetail 模型中

has_many :users , :through => :lms_users

但是我收到了这个错误

ActiveRecord::ConfigurationError in Lms usersController#index
Association named 'lms_user' was not found; perhaps you misspelled it?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-2


    【解决方案1】:

    您需要将您正在经历的关联添加为 has_many。

    例如,您的 user.rb 应该如下所示:

    has_many :lms_users
    has_many :group_details , :through => :lms_users
    

    您的 group_detail.rb 应包含以下内容:

    has_many :lms_users
    has_many :users , :through => :lms_users
    

    :through 是经过一个关联,所以这个关联需要已经建立好了。

    【讨论】:

    • 除了@cheeseweasel 答案之外,LmsUser 模型中应该有一个变化,关联应该是 belongs_to :user 而不是 users 和 belongs_to :group_detail 而不是 group_details
    • 如何通过resultset变量访问lms_users表coloum中的数据?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-16
    • 2012-06-13
    • 2016-12-21
    • 2019-11-20
    相关资源
    最近更新 更多