【发布时间】:2011-03-01 22:56:47
【问题描述】:
我在使模型中的序列化列正确保留在表单中时遇到问题。如果我的模型验证失败,我想重新显示“新”页面,其中所有模型数据仍在表单中。现在,除了序列化字段之外的所有内容似乎都存在(如果我的订单购买失败,在“新”页面上,电子邮件仍然填写,但送货地址字段没有填写)。这是 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"
【问题讨论】:
标签: ruby-on-rails forms serialization