假设我有一个模型。
乘客属于航班。航班属于旅行
class Trip < ActiveRecord::Base
has_many :flights, :dependent => :destroy, :order => "order_num ASC"
end
class Flight < ActiveRecord::Base
belongs_to :trip, touch: true
has_many :passengers, :dependent => :destroy
end
class Passenger < ActiveRecord::Base
belongs_to :flight, touch: true
end
我将把它发送回 rails 应用程序。(当用户调用保存时)。
*最上层是行程
{
name: 'Hello Trip',
date: '2013-08-12',
flights: [
{
id: 1
depart_airport: 'RDU',
arrive_airport: 'RDU',
passengers: [
{
user_id: 1,
request: true
}
]
},
{
depart_airport: 'RDU',
arrive_airport: 'RDU',
passengers: [
{
user_id: 1,
request: true
},
{
user_id: 2
request:true
}
]
}
]
}
现在我正在获取保存的 json 并手动遍历航班以查看是否有 id。如果有我正在更新它。如果没有,我正在创建一个新的。然后添加乘客。
我想知道 Rails 是否有一种自动格式可以为我做所有的保存。我知道当您提交嵌套表单时,它会创建一个类似的模式,并添加一个 _destroy 属性,如果它是刚刚创建的,则 id 是一个时间戳。JSON保存会与此类似吗?
谢谢你的帮助!