【问题标题】:Rails 4 API: Creating a nested resourceRails 4 API:创建嵌套资源
【发布时间】:2018-05-18 15:13:28
【问题描述】:

我有 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 视图中的嵌套表单。

【问题讨论】:

  • 查看github.com/nathanvda/cocoon,它用于构建嵌套模型表单。即使您不使用它,也请阅读文档,因为它会涉及处理嵌套模型的大量细节。它真的帮助我解决了这些问题。

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


【解决方案1】:

您会希望 accepts_nested_attributes_for 执行此操作。

它允许您通过将适当的属性传递给您的 API 端点来创建相关模型。

【讨论】:

    猜你喜欢
    • 2020-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多