У меня проблема с тем, чтобы сериализованные столбцы в моей модели правильно сохранялись в формах. Если моя проверка модели не удалась, я хочу снова отобразить «новую» страницу со всеми данными моей модели, которые все еще находятся в формах. Прямо сейчас все, кроме сериализованных полей, похоже, сохраняется (если мой Заказ не удается приобрести, на «новой» странице электронное письмо все еще заполнено, а поля адреса доставки нет). Это ошибка в Rails или я что-то не так делаю?
Моя модель:
class Order < ActiveRecord::Base
serialize :shipping_address
end
Мой контроллер:
def new
@order = Order.new
end
def create
@order = Order.new params[:order]
if @order.purchase then render :action => "success"
else render :action => "new"
end
end
Мой взгляд, new.html.haml:
= form_for @order do |f|
- if @order.errors.any?
#errorExplanation
%p The following errors occurred:
%ul
- for msg in @order.errors.full_messages
%li= msg
%h2 Billing Information
= f.label :email
= f.text_field :email
%h2 Shipping Address
= f.fields_for :shipping_address do |b|
%p.field.address
= b.label :address1
= b.text_field :address1
%p= f.submit "Place Order"