在 Rails API 方面,我有以下 2 个模型:
class Grower < ActiveRecord::Base
has_many :addresses, as: :addressable
accepts_nested_attributes_for :addresses
end
class Address < ActiveRecord::Base
belongs_to :addressable, polymorphic: true
end
以及一个 Growers 控制器,它返回并可以创建/更新具有嵌入式地址属性的 Growers。我还有一个具有正确路由的地址控制器,以便可以查看/创建/更新特定种植者的地址。后者更像是“以防万一”,我不确定是否需要将地址作为单独的有效负载返回/更新/创建。
我开始尝试拼凑一个 Ember 应用程序,它允许我在查看/编辑/创建 Grower 及其地址的同时查看/编辑/创建一个种植者。谁能指出我现有的真实或示例应用程序可以做到这一点?我将在进行过程中发布我的代码,但我已经知道我会遇到麻烦的一些领域:
Rails 返回/期望名为addresses_attributes的嵌套参数。我敢肯定,Ember 不使用该约定。解决这个问题的最佳方法是什么?
由于多态关联(Grower 以外的对象可以是可寻址的),在 API/Address 端,为了获得正确的 belongs_to 对象,Rails 使用addressable_id和addressable_type。在此示例中,addressable_type 将是“Grower”,addressable_id 将是 grower_id 值。在 Ember 方面如何翻译它?
更新:
我让它至少以几种不同的方式工作。至少对于这种特殊情况,我的首选解决方案在答案部分。