9

假设您有两个关联的 Rails 模型:

class Foo < ActiveRecord::Base
  attr_accessible :name

  belongs_to :moo
end

class Moo < ActiveRecord::Base
  attr_accessible :name

  has_many :foos
  accepts_nested_attributes_for :foos
end

感谢 ActiveModel::Serializer,很容易将现有的嵌套对象从 Rails 发送到 Ember.js。但是我找不到在 Ember 中创建此类嵌套对象并将它们发送回 Rails 以进行持久化的方法。我的理解是 Ember 需要发回类似的东西:

"moo"=> {
   "foos_attributes"=>{"0"=>{"name" => ...}},
   "name" => ...
}

有没有“标准”的方式来做到这一点?我已经看到了一些关于这个主题的“老”问题,但没有真正的解决方案,而且由于 Ember 已经发生了很大的变化,我认为现在可能有一种简单的方法来做到这一点(不改变 Rest Adapter 本身)。

非常感谢,PJ

4

1 回答 1

2

我刚刚修改了参数,然后将它们交给createupdate_attributes这样的方法:

  line_items = params[:invoice].delete(:line_items) #Ember format
  params[:invoice][:line_items_attributes] = line_items
于 2013-03-20T16:13:42.933 回答