У меня возникла проблема с сериализованными столбцами в моей модели, которые правильно сохраняются в формах. Если моя проверка модели не удалась, я хочу повторно отобразить «новую» страницу со всеми моими данными модели, все еще находящимися в формах. В настоящее время все, за исключением сериализованных полей, похоже, сохраняется (если мой заказ не удается приобрести, на «новой» странице все еще заполняется электронная почта, но в поле адреса доставки нет). Является ли это ошибкой Rails или я делаю что-то неправильно?Поля Serialized form в Ruby on 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"
Хех, я остановился, используя поля сериализации подход, с тем я не могу проверить это больше, но ответ кажется, что это будет работать, спасибо – icecream