Ruby on rails 如何在Rails表单中包含多个关系?

Ruby on rails 如何在Rails表单中包含多个关系?,ruby-on-rails,ruby,Ruby On Rails,Ruby,我有两个型号,Artist和User,它们通过第三个型号,ArtistMembership连接 在“编辑/新建艺术家”表单中,我希望能够编辑该艺术家现有ArtistMembership关系中任何用户的角色,删除ArtistMemberships,并添加新的AtistMembership关系,其中包括用户和:角色 这是我的艺术家模型: class Artist < ActiveRecord::Base has_many :artist_memberships, foreign_key: "a

我有两个型号,
Artist
User
,它们通过第三个型号,
ArtistMembership
连接

在“编辑/新建艺术家”表单中,我希望能够编辑该艺术家现有ArtistMembership关系中任何用户的角色,删除ArtistMemberships,并添加新的AtistMembership关系,其中包括用户和:角色

这是我的艺术家模型:

class Artist < ActiveRecord::Base
has_many :artist_memberships, foreign_key: "artist_id", dependent: :destroy

attr_accessible :bio, :created_at, :email, :location, :name, :updated_at, :website, :pic
accepts_nested_attributes_for :artist_memberships, :allow_destroy => :true
...
end
class-Artist:true
...
结束
以下是我的用户模型:

class User < ActiveRecord::Base
...
has_many :artist_memberships, foreign_key: "user_id"
...
end
class用户
这是我的ArtistMembership模型:

class ArtistMembership < ActiveRecord::Base
    belongs_to :artist, class_name: "Artist"
    belongs_to :user, class_name: "User"

  attr_accessible :artist_id, :created_at, :role, :user_id
end
class ArtistMembership
如果我也有一个_form.hml.erb,用于编辑艺术家,开始:

<%= form_for @artist do |artist_form| %>
  <div class="field">
    <%= artist_form.label :name %>
    <%= artist_form.text_field :name %>
  </div>
..
  <div class="actions">
    <%= artist_form.submit %>
  </div>
<% end %>

..

如何为上述功能创建相关的ArtistMembership表单?

也许您正在寻找此方法。

请参阅“一对多”部分

但如果我是你,我宁愿使用“嵌套资源”技术。
这可能对您有所帮助,请参见


您可以使用

是的,这是我需要的。我想我把问题弄得太复杂了。谢谢