В вашем контроллере вы строите модели автомобилей! Тогда вам нужно сослаться на них. Посмотрите на код, который я разместил. Для каждого киоска вам нужно иметь свою собственную форму. @ garage.stalls относится ко всем 5 киоскам, поэтому Ruby не знает, какой из них вы хотите использовать. Вы можете просто попробовать следующее, использовать свой код и заменить: автомобили с @ garage.cars [1] и изменить car.stall_number на builder.stall_number

м первом приложении rails я пытаюсь использоватьform_for а такжеfields_for создать форму вложенного объекта. Пока все хорошо, но я не могу понять, как получить доступ к подобъекту, покаfields_for блок. Я предварительно заполнил поле в подобъекте данными, которые я хочу показать в инструкциях пользователя.

модели
Гараж:

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

Автомобиль:

belongs_to :garage

Контроллер гаража

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

_form.html.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 %>

Как вы можете видеть, внутри блока builder для: cars я хочу показать в моих инструкциях пользователя поле:car.stall_number (заполнено в моем контроллере целым числом):

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

Я пробовал много разных идей:@car.stall_number, object.car.stall_numberи т. д. Нет радости. Многократные поиски и взгляд наfields_for Исходный код не помог мне понять. Буду признателен за любые рекомендации.

Обновить: Для разъяснения, по предложению Дэна я пыталсяbuilder.stall_number но это приводит к

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

Ответы на вопрос(2)

Ваш ответ на вопрос