2014-02-25 50 views
0

如何使用以下模型在我的數據庫中添加數據?Rails通過使用has_many插入db通過

class User < ActiveRecord:Base 
has_many :user_groups 
has_many :groups, through: :user_groups 

class Group < ActiveRecord:Base 
has_many :user_groups 
has_many :users, through: :user_groups 

class UserGroup < ActiveRecord:Base 
belongs_to :user 
belongs_to :group 

現在,我使用這個代碼保存新紀錄

#group_controller 
def create 
    @group = current_user.groups.build(params...) 
    if @group.save 
    #my redirect etc... 
end 

那麼,這將創建一個在我的組表中的行與校正參數等,但我的連接表仍然是空的。 ..爲什麼?有人可以解釋這些嗎? ;)

回答

0

因爲您正在構建組並保存它,但沒有關係。

if @group.save 
    current_user.groups << @group 

會解決它。

+0

好吧......我以爲rails會爲我自動完成這個操作 – Tobias