Rails 4 API:创建嵌套资源

时间:2018-05-18 15:13:28

标签: ruby-on-rails api ruby-on-rails-4 has-one-through

我有3个型号:

class Repositioning < ActiveRecord::Base
    has_one :repo_mood
    has_one :mood, through: :repo_mood
end

class Mood < ActiveRecord::Base
    has_many :repo_moods
    has_many :repositionings, through: :repo_moods
end

class RepoMood < ActiveRecord::Base
    belongs_to :repositioning
    belongs_to :mood
end

但我只有一个Repositionings控制器。在我的应用中,用户可以向mood添加repositioning,并将数据发送到我的API:

repositioning: { mood: mood_id }

是否存在生成必要repo_mood条目的简单方法:

RepoMood.create(repositioning_id: repositioning.id, mood_id: mood_id)

没有手动调用它?我在Rails视图中思考嵌套表单。

1 个答案:

答案 0 :(得分:2)

您需要accepts_nested_attributes_for才能执行此操作。

只需将适当的属性传递给API端点,即可创建相关模型。

相关问题