鉴于可能是艺术家的用户:
class User < ActiveRecord::Base
has_one :artist
end
我有一个用户&amp;艺术家嵌套形式(使用Formtastic gem):
<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?
)
答案 0 :(得分:3)
您还记得在user.rb中设置accepts_nested_attributes_for :artist
吗?