我正在使用Rails后端学习Ember.js。我希望建立一个树结构,用于将组模型与其自身(子组)相关联。既然已经很成熟了,我想把祖先宝石连接起来,在余烬那边消费。
Ancestry 将一个名为"ancestry"的字符串列添加到我的组模型中,并返回一串父 ID。在这种情况下,如何处理设置Ember模型?
我通过对组序列化程序和 Ember 模型进行一些修补来弄清楚这一点。
# serializers/group_serializer.rb
class GroupSerializer < ActiveModel::Serializer
attributes :id, :name, :parents, :subgroups
def parents
object.ancestor_ids unless object.is_root?
end
def subgroups
object.descendant_ids if object.has_children?
end
end
# app/javascripts/models/group.js.coffee
App.Group = DS.Model.extend
name: DS.attr 'string'
parents: DS.hasMany 'group'
subgroups: DS.hasMany 'group'