非常簡單的設置。我想確保我對ORM的理解是正確的。簡單的has_many:通過關聯
class User < ActiveRecord::Base
has_many :memberships
has_many :groups, through => memberships
end
class Group < ActiveRecord::Base
has_many :memberships
has_many :users, through => memberships
end
class Membership < ActiveRecord::Base
belongs_to :user
belongs_to :group
end
現在,當用戶創建一個組時,我希望鏈接表中的成員記錄得到填充。它應該是一個原子(交易)。
class GroupsController < ApplicationController
def create
@group = current_user.groups.build(params[:group])
if @group.save
flash[:notice] = "Group has been created."
redirect_to @group
else
flash[:alert] = "Group has not been created."
render :action => "new"
end
end
end
這不起作用。該組被保存,但沒有在鏈接表中創建成員記錄。然而使用創建vs構建工程。這是它應該如何工作?
這裏最好的辦法是什麼?
你在@ group.save行中有一個錯字,(if在開始時不應該有@) – bruno077 2012-02-20 02:19:59
是的,這只是一個粘貼它的錯誤。問題依然存在。 – 2012-02-20 02:25:11
你能粘貼你的視圖的代碼嗎? – bruno077 2012-02-20 02:31:05