Сериализованные поля формы в задаче Ruby on Rails - PullRequest
0 голосов
/ 10 июня 2010

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

1 Ответ

0 голосов
/ 31 декабря 2010

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

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

И все работает нормально

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...