繁体   English   中英

Rails在JSON中通过模型的嵌套属性

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM