【发布时间】: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