我们正在使用Ember数据和Rails实现一个功能,并继续遇到麻烦.我们不确定这是否是我们的代码的问题,Ember或Ember数据的错误,或者仅仅因为缺乏文档我们没有得到它.
任何帮助将非常感激.
轨道
我们有一个待办事项清单,有多个条目.在Rails中,它们的设置如下:
class ToDo < ActiveRecord::Base
has_many :to_do_entries, dependent: :destroy
alias_method :entries, :to_do_entries
validates_presence_of :title
end
class ToDoEntry < ActiveRecord::Base
attr_accessible :completed_at, :is_deleted, :priority, :title
belongs_to :to_do
alias_method :parent, :to_do
validates_presence_of :to_do, :title
end
Run Code Online (Sandbox Code Playgroud)
路由设置为嵌套:
resources :to_dos do
resources :to_do_entries do
end
end
Run Code Online (Sandbox Code Playgroud)
因此,结束URL最终为/ to_do /:to_do_id/to_do_entry /:to_do_entry_id.
我们正在使用active_model_serializers gem并设置以下序列化程序:
class ToDoSerializer < ActiveModel::Serializer
attributes :id,
:title
has_many :to_do_entries, embed: :objects
end
class ToDoEntrySerializer < ActiveModel::Serializer
attributes :id,
:to_do_id,
:title,
:priority
has_one :to_do
end
Run Code Online (Sandbox Code Playgroud)
烬
我们使用的是Ember数据和REST适配器,等效模型的设置如下:
App.ToDo …Run Code Online (Sandbox Code Playgroud)