Rails 3.2 を使用して単純なフライト ブック システムを実装していますが、多くの乗客がいる可能性がある注文を保存するときに問題があります。パッセンジャーモデルです。
class Passenger < ActiveRecord::Base
attr_accessible :accident_number, :cred_number, :cred_type, :delay_number, :name, :order_id
validates :cred_type, :cred_number, :name, presence: true
belongs_to :order, :inverse_of => :passengers
end
これは注文のモデルです
class Order < ActiveRecord::Base
attr_accessible :contact_email, :contact_name, :contact_phone, :flight_id, :print_time, :remark
validates :contact_email, :contact_name, :contact_phone, :flight_id, :print_time, presence: true
belongs_to :flight
has_many :passengers, :dependent => :destroy, :inverse_of => :order
accepts_nested_attributes_for :passengers, :allow_destroy => true
attr_accessible :passengers_attributes, :allow_destroy => true
end
そして、パラメータはこのようなものです
Parameters: {
"passengers"=>{"new_1"=>{"name"=>"Passenger 1", "cred_type"=>"ID card",
"cred_number"=>"12345", "accident_number"=>"1", "delay_number"=>"1"},
"new_2"=>{"name"=>"Passenger 2", "cred_type"=>"ID card", "cred_number"=>"54321", "accident_number"=>"1", "delay_number"=>"1"}},
"order"=>{"contact_name"=>"Contact 1", "contact_phone"=>"123456", "contact_email"=>"test2@tset,com", "print_time"=>"1", "remark"=>""},
"commit"=>"Create Order"}
問題は順序であり、乗客を救うことはできません。いくつかの方法を試しましたが、解決できません...たとえば
def create
@order = Order.new(params[:order])
respond_to do |format|
if @order.save
params[:passengers].each do |k, v|
@order.passengers.create(v)
end
前もって感謝します!!