Генерация правильного имени с fields_for в Rails

= f.field_for @user.account || @user.build_account do |account|
  = account.text_field :name

Генерирует

<input name="user[account][name]">

и я хочу:

<input name="user[account_attributes][name]">

Что я делаю неправильно?

2 ответа

Решение

Что мне нужно было:

= f.fields_for :account, @user.account || @user.build_account do |account|

Проходя мимо, хочу отметить object_nameметод

account.object_nameдолжен вернуться "user[account_attributes]"

Итак, если вы объедините имя своего поля в скобках "[field_name]", вы можете легко создать правильное имя для поля ввода

Другие вопросы по тегам