[英]Rails nested attributes for through model in JSON
我有三种模式。 在我的Rails应用程序中,它们如下所示(为简洁起见,省略了不必要的代码):
class User < ActiveRecord::Base
has_many :schedules
has_many :payouts, :through => :schedules
accepts_nested_attributes_for :schedules
end
class Schedule < ActiveRecord::Base
belongs_to :user
belongs_to :payout
end
class Payout < ActiveRecord::Base
has_many :schedules
has_many :users, :through => :schedules
end
这是典型的Rails多对多关联与直通模型。 但是,在前端,当将JSON汇总到用户的POST到控制器中时,我需要包括尚未创建的user_id。
JSON如下所示:
{
"user": {
"schedules_attributes": [{
"payout_id": 5,
"user_id": null
}]
}
}
上面的JSON的问题在于未设置user_id
,因为正在创建它。 应该怎么做?
如果您要创建一个新用户和一些关联的日程表,则不需要为日程表指定user_id,Rails将在创建用户记录后自动设置它。 这就是accepts_nested_attributes_for的工作方式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.