Ich habe einige verschachtelte Modelle in meiner Rails-Anwendung. ich habe einen artikel hat mny eigenschaften.Fields_for Nested Model Rails 3.2.2
class Article < ActiveRecord::Base
has_many :properties, :dependent => :destroy
accepts_nested_attributes_for :properties
end
class Property < ActiveRecord::Base
belongs_to :article
end
Und jetzt möchte ich dies in meiner Ansicht bearbeiten, damit ich die Controler
# GET /articles/new
# GET /articles/new.json
def new
@article = Article.new
3.times { @article.properties.build }
respond_to do |format|
format.html # new.html.erb
format.json { render json: @article }
end
end
editet und bearbeitet auch die Aussicht und die _format.html.erb
<%= form_for(@article) do |f| %>
<% if @article.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@article.errors.count, "error") %> prohibited this article from being saved:</h2>
<ul>
<% @article.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name %>
</div>
<div class="field">
<%= f.label :description %><br />
<%= f.text_area :description %>
</div>
<% f.fields_for :properties do |prop| %>
<div class="field">
<%= prop.label :name %><br />
<%= prop.text_field :name %>
</div>
<% end %>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
Aber es ist keine Möglichkeit, aufzutreten. Wenn ich ein neues Modell erstellen möchte, kann ich keine Eingabefelder für die Eigenschaften sehen.
Was habe ich falsch gemacht?
Das war es. Ich danke dir sehr. – Lailo
Keine Sorgen. Vergessen Sie nicht, Sie können dies auch als richtige Antwort akzeptieren, indem Sie auf das grüne Häkchen klicken. Wenn Sie Ihre akzeptierte Rate erhöhen, werden andere bereitwilliger, Ihnen in der Zukunft zu helfen. – Chowlett