我有一个与Profile模型具有has_one关系的User模型。表单生成正确(我看到contact_person的附加字段),但在创建新记录时,只保存用户。我错过了什么?
class User < ActiveRecord::Base
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
has_one :profile
accepts_nested_attributes_for :profile
end
和
class Profile < ActiveRecord::Base
belongs_to :user
end
这是我的表格:
<% @user.build_profile if @user.profile.nil? %>
<%= f.fields_for :profile do |profile| %>
<%= profile.label :contact_person %>
<%= profile.text_field :contact_person %>
<% end %>
答案 0 :(得分:1)
您必须在用户模型中添加attr_accessible:profile_attributes。
class User < ActiveRecord::Base
attr_accessible :profile_attributes
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
has_one :profile
accepts_nested_attributes_for :profile
end
答案 1 :(得分:0)
所以,我在Wiki的using Devise and strong parameters上找到了解决我问题的信息。