Ruby on rails _和_是否属于_many或用户/组关系的_many?

Ruby on rails _和_是否属于_many或用户/组关系的_many?,ruby-on-rails,has-and-belongs-to-many,has-one,Ruby On Rails,Has And Belongs To Many,Has One,我正在开发Rails 3.1应用程序,该应用程序具有以下型号: 用户: class User < ActiveRecord::Base has_and_belongs_to_many :groups has_many :ownerships, :class_name => 'Group' end class Group < ActiveRecord::Base has_and_belongs_to_many :users has_one :owner, :cl

我正在开发Rails 3.1应用程序,该应用程序具有以下型号:

用户:

class User < ActiveRecord::Base
  has_and_belongs_to_many :groups
  has_many :ownerships, :class_name => 'Group'
end
class Group < ActiveRecord::Base
  has_and_belongs_to_many :users
  has_one :owner, :class_name => 'User'
end
但当我这样做时,我会遇到以下错误:

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

我不明白它为什么还要找那个专栏。任何帮助都将不胜感激

确保“组”表中有“用户id”或“所有者id”列,然后尝试以下操作:

  class Group < ActiveRecord::Base
    has_and_belongs_to_many :users
    belongs_to :owner, :class_name => 'User'
  end
类组'User'
结束

谢谢antpaw。这似乎是向前迈出的一步(因为它不再给我MySQL错误),但它仍然返回nil for@group.owner.inspect。您确定列owner\u id不是空的,并且具有该id的用户位于用户表中吗?您是对的!实际上,我有“user\u id”而不是“owner\u id”。但现在,当我试图从另一边(@user.ownerships.inspect)进来时,它又在寻找“user\u id”列。另外,我在原来的问题中更新了我的用户模型。可能添加:外键选项会有所帮助,对不起,我不确定这是否正确!非常感谢!:)
  class Group < ActiveRecord::Base
    has_and_belongs_to_many :users
    belongs_to :owner, :class_name => 'User'
  end