Отредактируйте существующий объект и добавьте новый зависимый объект в рельсы 3 (вложенные формы) - PullRequest
2 голосов
/ 09 марта 2011

Обычно я просто использую что-то похожее на http://railscasts.com/episodes/196-nested-model-form-part-1

Теперь у меня есть существующий пользователь, которого я пытаюсь добавить новых автомобилей и летописи.У пользователя has_many автомобили и годичные данные и accept_nested_attributes_for автомобили и цифры

Если я делаю

= form_for(@user) do |f|
  = f.fields_for @user.cars.build do |c|

Я получаю ошибку:

неизвестный атрибут: автомобиль

И если я сделаю

= form_for(@user) do |f|
  = f.fields_for :cars do |c|

, я получу список всех существующих автомобилей для этого пользователя (когда я хочу сделать новый)

Спасибо!

ps: наверное, мне стоит добавить, я использую simple_form_for и simple_fields_for, это может быть ошибкой ...

1 Ответ

3 голосов
/ 09 марта 2011

Глубоко внутри рельсы API Я нашел:

Также можно указать используемый экземпляр:

  <%= form_for @person do |person_form| %>
    ...
    <% @person.projects.each do |project| %>
      <% if project.active? %>
        <%= person_form.fields_for :projects, project do |project_fields| %>
          Name: <%= project_fields.text_field :name %>
        <% end %>
      <% end %>
    <% end %>
  <% end %>

Так что в моем случае, я думаю, синтаксис будет

= form_for(@user) do |f|
  = f.fields_for :cars, @user.cars.build do |c|
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...