Rails 4 API: 创建嵌套资源
Rails 4 API: Creating a nested resource
我有 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 视图中的嵌套表单。
您需要 accepts_nested_attributes_for
执行此操作。
它允许您简单地通过将适当的属性传递给您的 API 端点来创建相关模型。
我有 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 视图中的嵌套表单。
您需要 accepts_nested_attributes_for
执行此操作。
它允许您简单地通过将适当的属性传递给您的 API 端点来创建相关模型。