проблема с fields_for, _attributes отсутствует в новом действии - PullRequest
2 голосов
/ 23 ноября 2010

Я что-то не так сделал или есть проблема с accepts_nested_attributes_for или fields_for

Я использую рельсы 3.0.3.

У меня 2 модели

class Customer < ActiveRecord::Base
  belongs_to :address
  accepts_nested_attributes_for :address
end

class Address < ActiveRecord::Base
  has_many :customers
end

В моем _form.html.haml

= f.fields_for :address do |a|
  = a.label :street, t("activerecord.attributes.address.street", :default => 'Street'), :class => :label
  = a.text_field :street, :class => 'text_field'

Когда я ПОЛУЧАЮ /customers/new исходный код HTML для поля ввода улицы -

<input class="text_field" id="customer_address_street" name="customer[address][street]" size="30" type="text">

Когда я ПОЛУЧАЮ /customers/1/edit источник HTMLкод для поля ввода улицы -

<input class="text_field" id="customer_address_attributes_street" name="customer[address_attributes][street]" size="30" type="text" value="...">

РЕДАКТИРОВАТЬ правильно и работает нормально, но НОВОЕ неправильно, _attributes отсутствует в ИД и ИМЯ.

Любая идея

1 Ответ

3 голосов
/ 28 ноября 2010

Я нашел свою ошибку

в new.html.haml я получил

= form_for :customer, :url => customers_path, :html => { :class => :form } do |f|

чтобы все заработало, я должен заменить :customer на @customer

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...