Ich habe die Modelle series
seasons
und episodes
. Von innerhalb series/new
Formular Ich möchte eine Serie, Staffel und Folge alle zusammen erstellen. Ich lese Rails Routing und Nested Forms Führer, aber ich weiß nicht, was ich falsch mache, da der Führer eine 3-stufige Tiefe nicht deckt. Bei Verwendung des verschachtelten Formulars fügt Rails nur die Werte Series
und Season
Werte , aber nicht die Episode
Werte ein.Rails verschachtelte Attribute 3 Stufentiefe
Ist mein Ansatz sogar richtig? Ich würde schätzen jede Eingabe ~
# series.rb
has_many :seasons, dependent: :destroy
has_many :episodes, :through => :seasons
accepts_nested_attributes_for :seasons
accepts_nested_attributes_for :episodes
# season.rb
belongs_to :series
has_many :episodes, dependent: :destroy
# episode.rb
belongs_to :season
# routes.rb
resources :series, except: [:show, :new] do
resources:seasons, except: [:show], path: '' do
resources :episodes, path: ''
end
end
Serie/new.html.erb
<%= form_for @series do |f| %>
<%= f.text_field :title %>
<%= f.fields_for :seasons do |seasons_form| %>
<%= seasons_form.text_field :title %>
<%= seasons_form.fields_for :episodes do |episodes_form| %>
<%= episodes_form.text_field :title %>
<% end %>
<% end %>
<% end %>
Erhalten Sie episods Attribute in Params-Hash? Wenn ja, hast du dann die Attribute der Episode auf die weiße Liste gesetzt? –
Danke für die Antwort, das ist mein series_params: 'def series_params params.require (: person) .permit (: titel, jahreszeiten_attribute: [: id,: titel], episoden_attributes: [: id,: titel]) ende ' – Dotol