问题标签 [acts-as-tree]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
81 浏览

ruby-on-rails - 如何在 Ember.js 中使用 ruby​​acts_as_tree gem?

有问题的宝石是:https ://github.com/rails/acts_as_tree

我使用acts_as_tree 作为在我的应用程序上嵌套和输出评论的一种方法。_comment.html.erb 中的以下代码可以正常工作。

所以我知道 comment.children 部分正在工作。但是,我正在尝试将 Ember 用作 Rails 应用程序的前端,但我不知道如何将其渗透到 ember 应用程序中。

我的评论模型(在rails中)如下:

我的评论序列化程序如下:

我的 Ember 评论模型如下:

我认为我的问题有点宽泛,但我一直在研究自我参照关系,但由于我不太确定acts_as_tree 本身是如何工作的,因此我在实施任何这些解决方案方面都没有成功。我可能一次尝试做太多事情;这是我非常感谢您的帮助:

如何正确序列化acts_as_tree 功能以便Ember 可以读取它?

0 投票
1 回答
220 浏览

ruby-on-rails - 如何循环遍历acts_as_tree 或祖先层次结构

我想采用这样的结构,其中每个标题都有一个标题和项目数组:

并使其成为这样的列表:

我需要能够处理 6 深的嵌套。现在,我只是做一个 each 循环并检查它是否有项目或是否有标题?但我真的不想有 6 个级别 - 我想做一些 while 循环,但不知道该怎么做。

0 投票
1 回答
153 浏览

active-model-serializers - act_as_tree 和 active_model_serializer

目前我正在构建一个 API,其中我有一个模型作为一个类别。该类别具有可能的子类别和/或使用acts_as_tree gem 创建的单个父类别。我希望使用 active_model_serializers gem 序列化类别模型及其与自身的关系。

注意:active_model_serializer 使用 :json_api 适配器

由于acts_as_tree 做了所有的“魔术”,我似乎无法找到一种方法来正确地序列化这种关系。如何在序列化程序中定义关系?

我将 Ruby 2.2.1 与以下 gem 一起使用:

  • 导轨 (4.2.1)
  • act_as_tree (2.1.0)
  • active_model_serializers (0.10.0.pre)
0 投票
1 回答
231 浏览

ruby-on-rails - 如何在关联的closure_tree 模型上创建范围?

我有两种类型:blogsposts. Post 使用closure_tree gem(一个acts_as_tree变体)来允许帖子嵌套在帖子下。此外,每个博客has_many帖子。

给定一组博客(例如,由同一作者撰写),我想将这些博客中的所有帖子作为一个范围(即,作为 ActiveRecord::Relation 而不是作为数组)。

就像是:

到目前为止,我已经尝试了两件事:

方法#1,使用数组(不是范围),如下:

但我想要一个范围,因为数组映射方法可能无法很好地处理大型数据集。

方法#2:这种方法产生一个真实的范围,但使用 sql 联合和 sql 字符串:

这可能有效,但我正在寻找一种更好的方法,希望使用一些可用的范围魔法。

0 投票
0 回答
31 浏览

sinatra - act_as_tree 不能与 sinatra 一起使用

我无法让acts_as_tree 与sinatra 一起工作。我不断收到以下错误。

我认为它不支持 Sinatra。欢迎任何意见。只是附加信息。我正在使用 Sinatra ActiveRecord

0 投票
1 回答
75 浏览

ruby-on-rails - 如何在特定模型的控制器上实现acts_as_tree

所以我想为我的用户模型实现acts_as_tree gem。我想成为树形的列是我的“account_type”。account_type 可以是“管理员、领导、成员”

基本上,管理员是领导者的父母,领导者是成员的父母。

在我为新用户创建方法中,我做了以下

@user = User.new root = @user.create("account_type" => "admin")

但我得到一个错误未定义的方法创建..我有点困惑如何从控制器初始化或实现acts_as_tree gem

任何想法将不胜感激

谢谢

0 投票
2 回答
327 浏览

ruby-on-rails-4 - 删除子导轨 4

我有班级项目,

我想删除所有子项,如果我删除父项,在这种情况下意味着,如果我删除项目(父项)必须删除所有用户(子项)和子项目(子项)。

我可以按用户添加,dependent: :delete_all但我不知道如何使用acts_as_tree

谢谢

0 投票
0 回答
129 浏览

ruby-on-rails - 按照关联资源的acts_as_tree/acts_as_list 顺序对集合进行排序

我有一个SuccessCriterion实现两者的模型,acts_as_tree因此acts_as_list可以将其排列为排序的树层次结构。每个成功标准都可以有很多Boilerplate对象。

我可以通过调用 检索正确排序的所有成功标准的平面数组SuccessCriterion.collection_tree

现在列出样板时,我希望它们按成功标准的层次结构排序。最简单的方法是什么?我想我必须使用 Ruby 手动对集合进行排序,但我不确定该怎么做。

更新

我的第一次尝试如下,但感觉有点笨拙:

0 投票
0 回答
557 浏览

ruby-on-rails - 闭包树祖先以相反的顺序给祖先

我有一个在 Post 模型上使用closure_tree 的 rails (4.2.3) 应用程序

closure_tree gem文档指出:

tag.ancestors是 的有序范围[ parent, grandparent, great grandparent, … ]

我有一个嵌套的帖子链(从根到叶)-“游戏”、“演练”、“教程”

但是当我查询帖子的祖先时,我以相反的顺序得到祖先(根到叶,而不是预期的叶到根)。

我几乎可以肯定我过去使用过祖先方法,并且它们确实以正确的顺序出现(在这种情况下,预期的结果是 ["Walkthrough", "Game"])。

0 投票
1 回答
300 浏览

ruby-on-rails - 未定义的方法`acts_as_tree'

我正在将项目从 rails 2 升级到 4,但找不到与 rails 4 的“acts_as_tree”等效的 gem。我看到线程说“acts_as_tree”已被弃用,所以我正在寻找另一种在 Rails 4 中使用此方法的方法。 谢谢!