Wie kann ich das in Rails 2.3 machen?Verschachteltes Modell mit Sammlung in Rails 2.3
class Magazine < ActiveRecord::Base
has_many :magazinepages
end
class Magazinepage < ActiveRecord::Base
belongs_to :magazine
end
und dann in der Steuerung:
def new
@magazine = Magazine.new
@magazinepages = @magazine.magazinepages.build
end
und dann die Form:
<% form_for(@magazine) do |f| %>
<%= error_messages_for :magazine %>
<%= error_messages_for :magazinepages %>
<fieldset>
<legend><%= t('new_magazine') %></legend>
<p>
<%= f.label :title %>
<%= f.text_field :title %>
</p>
<fieldset>
<legend><%= t('new_magazine_pages') %>
<% f.fields_for :magazinepages do |p| %>
<p>
<%= p.label :name %>
<%= p.text_field :name %>
</p>
<p>
<%= p.file_field :filepath %>
</p>
<% end %>
</fieldset>
<p>
<%= f.submit :save %>
</p>
</fieldset>
<% end %>
Problem ist, wenn ich eine Sammlung von magazinepages, Active Beschwerden einreichen möchten, weil es erwartet ein Modell und kein Array.
erstellen Aktion:
def create
@magazine = Magazine.new params[:magazine]
@magazine.save ? redirect_to(@magazine) : render(:action => 'new')
end
Können Sie nach die vollständige Fehlermeldung zusammen mit dem Stack-Trace? – ryanb
Es muss ein Syntax-Rülpsen gewesen sein, es funktioniert perfekt –