Rails 3 - 使用嵌套表单将现有子项添加到父项

时间:2011-06-09 11:52:15

标签: ruby-on-rails ruby-on-rails-3 nested-forms

我的应用程序有一个表单来更新活动。

我希望能够使用嵌套表单将现有用户添加到此事件中。 我使用Ryan Bates“nested_form”gem。

删除现有用户非常有用,但如何使用他的用户名添加现有用户?

型号:

class Event < ActiveRecord::Base
 has_many users
 attr_accessible :users_attributes
 accepts_nested_attributes_for :users, :allow_destroy => true
end

控制器:

def update
  if @event.update_attributes(params[:event])
   redirect_to @event
  else
   render :edit
  end
end

查看:

= f.fields_for :users do |users_form|
  = users_form.text_field :username
  = users_form.link_to_remove "Remove user"
= f.link_to_add "Add a user", :users
= f.submit

提前致谢!

1 个答案:

答案 0 :(得分:1)

如果您希望许多用户加入许多活动,则需要has_many :through关系。在这种情况下,关系在数据库中构建一个新行,在这种情况下,使用cocoon-gem动态链接和取消链接页面会更容易。

我回答了一个非常相似的问题,也将事件和用户联系起来here

如果您还有其他问题,请与我们联系。