【问题标题】:Ember.js model to be organised as a tree structureEmber.js 模型被组织为树结构
【发布时间】:2013-09-14 21:05:27
【问题描述】:

我正在学习 Ember.js,使用 Rails 后端。我正在寻找一个树结构,用于将组模型与其自身(子组)相关联。由于已经相当成熟了,所以想在 Ember 端连接Ancestry gem 使用。

Ancestry 将一个名为“ancestry”的字符串列添加到我的 Group 模型中,并返回一个父 ID 字符串。在这种情况下如何设置 Ember 模型?

【问题讨论】:

    标签: javascript ruby-on-rails ember.js ember-data ancestry


    【解决方案1】:

    我通过对组序列化程序和 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'
    

    【讨论】:

    • 非常感谢分享这个!您是否有任何在模板中使用它的示例代码,或者您可以作为示例 repo 共享的代码库的一部分?做同样的事情,我相信这会对 Ember 社区有所帮助。
    • 不幸的是,我不是在玩 Ember,但后来就停止了。祝你好运!
    • 我现在已经想出了如何自己完成这项工作。我使用jbuilder 设置了正确的 json 数据,以便我可以完成 ember 侧加载数据。
    猜你喜欢
    • 1970-01-01
    • 2023-04-01
    • 2015-10-18
    • 2020-02-06
    • 1970-01-01
    • 1970-01-01
    • 2011-06-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多