0
У меня есть 3 модели, и я хотел бы иметь возможность создавать их в одно и то же время, используя форму нового действия контроллера Sample.Вложенные формы с несколькими моделями в Rails
Есть ли способ иметь одну форму со всеми полями формы для всех моделей?
Эти модели:
class Sample < ActiveRecord::Base
belongs_to :song
accepts_nested_attributes_for :song
end
class Song < ActiveRecord::Base
has_many :samples
belongs_to :artist
end
class Artist < ActiveRecord::Base
has_many :songs
end
А вот форма, я использую, я могу создавать новые песни, но не художников.
<%= form_for(@sample) do |f| %>
<% if @sample.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@sample.errors.count, "error") %> prohibited this sample from being saved:</h2>
<ul>
<% @sample.errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
<%= f.fields_for :song do |song_form| %>
<div class="field">
<%= song_form.label "Song Name" %></br>
<%= song_form.text_field :name %>
</div>
<% end %>
<div class="field">
<%= f.label :timecode %><br>
<%= f.text_field :timecode %>
</div>
<div class="field">
<%= f.label :song_id %><br>
<%= f.collection_select(:song_id, @songs, :id, :name) %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
Благодарим за помощь.
Я посмотрел на RailsCast, однако, похоже, для моделей с has_many, в то время как моя модель образца принадлежит, которая, кажется, вмешивается в вложенные формы, но логически выборка должна принадлежать_to – dashedstripes