![](/img/trans.png)
[英]How can I migrate a has_many / belongs_to relationship in rails to has_and_belongs_to_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.