2010-06-10 2 views
0

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

ответ

0

добавить ту же проблему сегодня, то появляется форма не правильно построена в представлении. я просто добавил в начале своего создания действия:

params[:order][:shipping_address] = params[:shipping_address] 

И это работает правильно

+0

Хех, я остановился, используя поля сериализации подход, с тем я не могу проверить это больше, но ответ кажется, что это будет работать, спасибо – icecream

Смежные вопросы