【发布时间】:2010-06-11 20:27:58
【问题描述】:
我正在尝试保存到 habtm 关系中的联接表,但我遇到了问题。
在我看来,我传入了一个组 ID:
<%= link_to "Create New User", new_user_url(:group => 1) %>
# User model (user.rb)
class User < ActiveRecord::Base
has_and_belongs_to_many :user_groups
accepts_nested_attributes_for :user_groups
end
# UserGroups model (user_groups.rb)
class UserGroup < ActiveRecord::Base
has_and_belongs_to_many :users
end
# users_controller.rb
def new
@user = User.new(:user_group_ids => params[:group])
end
在新用户视图中,我可以访问 User.user_groups 对象,但是当我提交表单时,它不仅没有保存到我的联接表 (user_groups_users) 中,而且该对象不再存在。我的用户对象的所有其他对象和属性都是持久的,除了用户组。
我刚开始学习 Rails,所以也许我在这里在概念上遗漏了一些东西,但我一直在努力解决这个问题。
【问题讨论】:
-
当你提交表单时你调用
create方法,对吧?能否请您发布此方法的代码?
标签: ruby-on-rails ruby has-and-belongs-to-many nested-forms