用户/组关系的 has_and_belongs_to_many 或 has_many ?

2024-03-05

我正在开发具有以下模型的 Rails 3.1 应用程序:

User:

class User < ActiveRecord::Base
  has_and_belongs_to_many :groups
  has_many :ownerships, :class_name => 'Group'
end

Group:

class Group < ActiveRecord::Base
  has_and_belongs_to_many :users
  has_one :owner, :class_name => 'User'
end

它们之间有一个连接表,组表也有一个“user_id”列。我希望能够将其写在我的 groups_controller.rb 中

@group = Group.find(params[:id])
foo = @group.owner

但是当我这样做时,出现以下错误:

Mysql2::Error: Unknown column 'users.group_id' in 'where clause': SELECT  `users`.* FROM `users`  WHERE `users`.`group_id` = 1 LIMIT 1

我不明白为什么它还要寻找该专栏。任何帮助,将不胜感激!


确保您的 groups 表具有 user_id 或 Owner_id 列,然后尝试以下操作:

  class Group < ActiveRecord::Base
    has_and_belongs_to_many :users
    belongs_to :owner, :class_name => 'User'
  end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用户/组关系的 has_and_belongs_to_many 或 has_many ? 的相关文章

随机推荐