我有以下帐户模式:使用has_one和条件来查找相关对象,但是如何创建相关对象?
has_one :primary_user, :class_name => "User", :conditions => "role = 'primary_user'"
所以@ account.primary_user查找与primary_user的角色的用户。
创建新帐户时,我希望能够创建一个新的primary_user。什么是“Rails方式”来做到这一点?
我需要创建一个primary_user =方法?
这里是我创建的形式..
<%= semantic_form_for @account do |f| %>
<%= f.input :account_name %>
<%= f.semantic_fields_for :primary_user do |user| %>
<%= user.input :email %>
<% end %>
<% end %>
如果我提交此表,我得到
预计的ActiveRecord :: AssociationTypeMismatch(用户(#2159789500),得到的ActiveSupport :: HashWithIndifferentAccess(#2159703820) ):
感谢
我不确定这会为用户添加角色“primary_user”,会吗? – 2012-03-20 15:04:01
从它提交后会。或者你需要添加用户befor提交? – fl00r 2012-03-20 15:05:17
@Batkins'@ account.build_primary_user' – fl00r 2012-03-20 15:08:33