Schienen - Mit form_for und fields_for, wie Sie den Zugriff auf die sub-Objekt, während in der fields_for block?

In meinem ersten rails-app, die ich versuche zu verwenden form_for und fields_for erstellen Sie eine verschachtelte Objekt-form. So weit So gut, aber ich kann nicht herausfinden, wie Zugriff auf die sub-Objekt, während in der fields_for block. Ich habe bereits aufgefüllt, ein Feld, in das sub-Objekt mit Daten, die ich zeigen möchte, in der Gebrauchsanweisung.

Modelle
Garage:

has_many :cars, :dependent => :destroy         
accepts_nested_attributes_for :cars

Auto:

belongs_to :garage

Garage-Controller

def new
  @garage = Garage.new
  for i in 1..5 
    @garage.cars.build :stall_number => i
  end
end

_form.html-Code.erb

<%= form_for @garage do |f| %>
  <%= f.label :title, "Garage Name" %><br />
  <%= f.text_field :title %>
  <% f.fields_for :cars do |builder| %>
    <p>Enter license for car parked in stall: <%= car.stall_number %></p>
    <%= f.label :license, "License #:" %><br />
    <%= f.text_field :license %>
  <%= end %>
<%= end %>

Wie Sie sehen können, innerhalb des builder-block für :Autos, die ich zeigen will, in meiner Bedienungsanleitung, Bereich: car.stall_number (gefüllt in meinem controller mit einem integer):

<p>Enter license for car parked in stall: <%= car.stall_number%></p>

Ich habe versucht viele verschiedene Ideen: @car.stall_numberobject.car.stall_number usw. Keine Freude. Mehrere sucht und ein Blick auf die fields_for source-code noch nicht geholfen, mein Verständnis. Ich würde schätzen jede Beratung.

Update: Für die Klärung, pro Dan ' s Vorschlag habe ich versucht builder.stall_number führt jedoch zu einer

NoMethodError: undefined method 'stall_number' for #<ActionView::Helpers::FormBuilder:0x00000102a1baf0>

InformationsquelleAutor der Frage Don Leatham | 2011-02-18

Schreibe einen Kommentar