У меня есть помощник по имени 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не запоминаются, когда форма отправляется с ошибками и форма перерисовывается.
Почему это может быть?