Ruby on rails 如何离开充满字段的字段?

Ruby on rails 如何离开充满字段的字段?,ruby-on-rails,Ruby On Rails,我有一个问题:当客户在我的表单中输入他的发货和账单信息时,如果重新加载页面,地址模型的字段将丢失所有信息。 它与直接包含在订单模型中的其他字段(如电子邮件)一起工作。重新加载后,如何让字段保持填充状态 这是我的新.html.erb文件: <%= form_for @order do |f| %> <ul> <% @order.errors.each_with_index do |msg, i| %> <li><%= msg[

我有一个问题:当客户在我的表单中输入他的发货和账单信息时,如果重新加载页面,地址模型的字段将丢失所有信息。 它与直接包含在订单模型中的其他字段(如电子邮件)一起工作。重新加载后,如何让字段保持填充状态

这是我的新.html.erb文件:

<%= form_for @order do |f| %>
  <ul>
   <% @order.errors.each_with_index do |msg, i| %>
    <li><%= msg[1] %></li>
   <% end %>
  </ul>
 <%= f.text_field :email, placeholder: "email" %>
 <%= f.fields_for :shipping_address_attributes do |sa| %> 
  <%= sa.text_field :first_name, placeholder: "Firstname" %>  
  <%= sa.text_field :last_name, placeholder: "Name", autocomplete: true %>
  <%= sa.text_field :address1, placeholder: "Address", autocomplete: true %>
  #etc.
 <% end %>
 <p><%= f.submit 'Next step' %></p>
<% end %>
编辑

可能是因为在执行更新操作之前,订单未链接到任何发货地址?只有当地址模型验证每个属性的存在时,它才起作用


有什么想法吗?

您是否在允许的参数中包括发货地址属性?是:“:发货地址属性=>[:名字,:国家等。”
class Order < ActiveRecord::Base
 belongs_to :billing_address, :class_name => "Address"
 belongs_to :shipping_address, :class_name => "Address"
 accepts_nested_attributes_for :shipping_address
 accepts_nested_attributes_for :billing_address, reject_if: :bill_to_shipping_address    

class Address < ActiveRecord::Base
  belongs_to :user
  has_many :billing_addresses, :class_name => "Order", :foreign_key => "billing_address_id", dependent: :nullify
  has_many :shipping_addresses, :class_name => "Order", :foreign_key => "shipping_address_id", dependent: :nullify
  validates_presence_of :first_name, :last_name, :address1, :city, :country, :phone, :postal
def new
 @user = current_user
 @order_items = current_order.order_items
 @order = current_order
 @amount = @order.subtotal
end

def update
@order_items = current_order.order_items
@order = current_order
  if @order.update(order_params)
    redirect_to recapitulatif_de_la_commande_path
  else
    redirect_to(:back)
  end
end