我正在爲用戶創建一個一對一的關係,稱爲user_info。 以下是工作解決方案。Rails 3:設計has_one,嵌套屬性未更新
在user.rb
has_one :user_info
accepts_nested_attributes_for :user_info, :allow_destroy => true
attr_accessible :username, :email, :password, :password_confirmation, :remember_me, :user_info_attributes
在user_info.rb
belongs_to :user
attr_accessible :first_name, :last_name
在色器件/註冊/ edit.html.erb
<% resource.build_user_info if resource.user_info.nil? %>
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put }) do |f| %>
...
<%= f.fields_for :user_info do |info| %>
<%= info.text_field :first_name %>
我知道我不應該包括在視圖中構建。但我不想'觸摸'設計控制器或型號。這是最簡單的方法。
原來,構建線不能正常工作。應該是'<%resource.build_user_info if resource.user_info.nil? %>' –