我有一个名为的助手user_order
,它返回一个Order
. Order
接受User
和的嵌套属性Address
。我的(缩写)表格如下所示:
<%= form_for user_order, :url => checkouts_path, :method => :post do |order| %>
<%= order.fields_for :user_attributes do |user| %>
<%= user.text_field :email %>
<% end %>
<% end %>
Order.rb 型号代码:
belongs_to :user
accepts_nested_attributes_for :user
validates_associated :user
attr_accessible :user
控制器代码:
def new
@order = user_order # user_order is a method to get order from session
end
def create
@order = user_order
if @order.update_attributes(params[:order])
redirect_to @order
else
render :new
end
end
当表单提交错误并重新呈现表单时,不会记住 user.email 的值。
为什么会这样?