【发布时间】:2014-06-23 15:56:04
【问题描述】:
我有一个Content 模型、一个Playlist 模型和一个名为PlaylistItem 的模型中的连接关联。
这就是它们的连接方式:
class Content < ActiveRecord::Base
has_many :playlist_items
has_many :playlists, through: :playlist_items
end
class Playlist < ActiveRecord::Base
has_many :playlist_items, -> { order 'position ASC' }
has_many :contents, through: :playlist_items
end
class PlaylistItem < ActiveRecord::Base
belongs_to :content
belongs_to :playlist
end
当我编辑Playlist 时,表单只显示其字段Name,这是它拥有的唯一属性。但我希望能够在该表单中将Content 添加到Playlist(在某个position 中,这是PlaylistItems 唯一的属性)。
我该怎么做?
这是我现在拥有的代码:
<%= form_for(@playlist) do |f| %>
<div class="field">
<%= f.label :name %><br>
<%= f.text_field :name %>
</div>
<%= f.fields_for :playlist_items do |builder| %>
<fieldset>
<%= builder.label :content, "Content ID" %><br>
<%= builder.text_area :content_id %>
</fieldset>
<% end %>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
【问题讨论】:
-
我已经看到了,但我无法正确理解。
-
您能否在问题中添加到目前为止您的表单中的内容?
-
好的。我已经把它放在那里了。
-
Content模型有什么属性,即contents表中有哪些列。此外,您想从表单中现有的contents中进行选择,还是在其中创建和/或contents?
标签: ruby-on-rails ruby forms model associations