Вложенное поле формы Formtastic не строит ассоциацию has_one? - PullRequest
1 голос
/ 23 августа 2011

Учитывая пользователя, который может быть исполнителем:

class User < ActiveRecord::Base
  has_one :artist
end

У меня есть вложенная форма пользователя и исполнителя (с использованием гема Formtastic):

<h1>Artist registration</h1>

<% @user.build_artist unless @user.artist %>

<%= semantic_form_for @user, :url => create_artist_path do |f| %>
  <%= f.inputs :username %>

  <%= f.semantic_fields_for :artist do |a| %>
    <%= a.input :bio %>
  <% end %>

  <%= f.buttons do %>
    <%= f.commit_button 'Register as Artist' %>
  <% end %>
<% end %>

Проблема в том, что: поля художника не отображаются.

Я тоже пробовал f.inputs :for => :artist do |a|.

Почему-то при использовании @user.build_artist поля художника не отображаются в форме. Если я пытаюсь @user.artist = Artist.new, я получаю сообщение об ошибке, потому что оно пытается сохранить Исполнителя, и проверка не проходит.

Как мне инициализировать модель Artist, чтобы я мог использовать генераторы formtastic во вложенной форме? (Обратите внимание, что @user здесь не :new_record?)

1 Ответ

3 голосов
/ 11 ноября 2011

Вы не забыли установить accepts_nested_attributes_for :artist в user.rb?

...