簡體   English   中英

用戶/組關系的has_and_belongs_to_many或has_many?

[英]has_and_belongs_to_many or has_many for user/group relationship?

我正在研究具有以下型號的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

它們之間有一個連接表,groups表也有一個“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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM