问题标签 [awesome-nested-set]

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 投票
5 回答
3458 浏览

ruby-on-rails - 令人敬畏的嵌套设置顺序

我为 ruby​​ on rails使用了很棒的嵌套集插件。我该如何按 :name 列或其他内容进行排序?

目前显示树喜欢

我想要它喜欢

0 投票
0 回答
463 浏览

ruby-on-rails - AwesomeNestedSet 和可排序树

默认情况下AwesomeNestedSet gem 是按 :lft 属性排序的。假设我有一堂课:

如何使用AwesomeNestedSet gem 创建一个可排序的(按 :position 属性)树,并单击一次到数据库,其中 :position 用于对兄弟姐妹(级别)进行排序?

我需要这样的输出:

0 投票
1 回答
524 浏览

ruby-on-rails - AwesomeNestedSet + Rails 4.1.4 `nested_set_options` 抛出异常

我有一个名为的模型Collection,其配置如下:

nested_set_options在我升级到 Rails 4.1.4(从 4.0.5 升级)之前,使用视图助手工作正常:

我得到这个例外:

这是从 GitHub 运行的最新版本(提交f823ffb)。

0 投票
1 回答
1434 浏览

ruby-on-rails - 如何从 awesome_nested_set 渲染一棵树并只访问数据库一次?

正如标题所述,我想基于模型渲染一个 --treeul并且只访问数据库一次。我正在使用 Ruby on Rails 4.1。liawesome_nested_set

我的查询如下所示:

什么是一种有效的方法来做到这一点?

如何在不丢失 where 条件的情况下递归迭代它?例如,当我询问每个实例时Page,如果它是叶子(page_instance.leaf?下一步?

这个问题与站点地图有关。

0 投票
1 回答
260 浏览

ruby-on-rails - 复杂类别下拉,取决于存在的叶节点

我有这些关系

在主页(查看文件)中,我有一个类似于亚马逊的类别下拉列表:

这看起来像下图(根类别及其子类别显示在悬停上) 网站类别下拉列表

现在我在商店页面上,我想显示一个类似于网站下拉菜单的下拉菜单,但仅适用于商店正在销售的产品。
商店产品

我将 awesome_nested_set gem 用于类别(https://github.com/collectiveidea/awesome_nested_set
我可以使用以下方法将所有 category_id 映射到数组中: category_ids = @store.products.map(&:category_id)

我的问题是,我如何构建一个类似于我上面显示的站点下拉列表但仅适用于该商店销售的产品的下拉列表。记住每个产品的 category_id 是叶类别的类别 ID,我如何从根类别重新创建下拉列表?使用我上面给出的商店产品,它应该看起来像这样: 商店类别下拉,只有商店出售的产品。

0 投票
1 回答
35 浏览

ruby-on-rails - 使用 awesome_nested_set 的邮箱对话视图

我正在使用 awesome_nested_set 来建立邮件对话。我有两个邮箱(收件箱和已发送),现在我想建立一个适当的对话视图。主要目标是选择在目标邮箱中有任何后代的根和根的最后一个叶子,以便在对话列表页面上查看。我的消息模型:

例如,如果我选择收件箱,我想选择:那些有属于收件箱的任何消息的根。我该怎么做?我是否需要为此构建一个包含 message_id、mailbox_id、unique_thread_number 的对话模型?

0 投票
1 回答
420 浏览

ruby-on-rails-4 - 如何使用 Pundit 和 Rolify 限制对 Ruby on Rails 4 中模型的访问

在过去的几个月里,我才刚刚开始使用 Rails,并且在我目前的项目中遇到了我的第一个真正的障碍,我一直无法找到答案。

我的目标是对哪些用户角色/组(由 Rolify 生成并由 Pundit 控制)实施一些细粒度的控制,这些用户角色/组可以通过 Upmin 管理控制台访问特定类别、子类别或文章。一个类别/文章应该能够允许多个用户角色/组访问其内容。

此处的答案演示了将角色范围限定为模型的特定实例,这很好,但我也希望通过我的应用程序管理控制台中的简单复选框表单从模型实例中进行控制(感兴趣的人可以使用 Upmin_admin)。

除了在管理控制台中创建一个类别/文章实例视图部分之外,我认为没有太多可以产生此功能是否正确,该视图列出了该特定类别/文章的所有角色/组及其当前 CRUD 设置实例。还是我错过了一些中间步骤?

向正确方向轻推将不胜感激。谢谢!

我的应用程序的一些背景

在我的 Web 应用程序中,我嵌套了资源、类别、文章和评论,如下所示:

(我知道嵌套资源比一层更深并不是最佳实践,但是我刚刚跳上了 Rails 火车, :shallow = true 并没有提供我想要的结果。)

类别充当由 Awesome Nested Set 提供的嵌套集,并且能够“保存”类别和文章(以及扩展评论)。

用户通过使用 Devise 的 LDAP 服务器进行身份验证 - 我将在不久的将来对其进行配置,以自动将用户分配到正确的组/角色。

0 投票
2 回答
5283 浏览

ruby-on-rails - Rails 4 after_save previous_changes 不工作

我在模型上有一个 after_save 回调,我正在调用 previous_changes 来查看属性 (is_complete) 是否发生了变化。即使属性发生变化,previous_changes 也会返回一个空哈希。

这是回调:

这是我在日志中得到的:

如果 is_complete 的值从 true 变为 false,它应该在 previous_changes 哈希中。更新是通过正常保存完成的!而且我没有重新加载对象。

---更新---

当我发布这个问题时,我没有考虑到这一点,但我的模型使用了 awesome_nested_set gem,看起来这正在重新加载对象或以某种方式干扰 after_save 回调。当我注释掉acts_as_nested_set 时,回调似乎工作正常。

---更新 2 ---

使用 around_save 回调修复了这个问题,该回调首先确定属性是否更改,然后生成,然后在数据库中进行更改后执行我需要它执行的操作。工作解决方案如下所示:

0 投票
1 回答
67 浏览

ruby-on-rails - Rails: Enumerate data in the view with different context

I use awesome_nested_set gem for the binary tree in my app.

I need to display the binary tree on the page. Each node in the tree have a button, which shows two next childs.

Mockup with tree

My current code is not DRY, large and difficult to maintain. I get all descendants for the current user:

Each level and "collaspsing zones" must have own classes.

And so on...

I want something like this

0 投票
0 回答
99 浏览

ruby-on-rails - 使用 awesome_nested_set,如何定义与所有后代的 has_many 关系?

我有一个简单的产品和类别模型以及在产品类别树中建立存在的 product_category 模型。

产品总是被放置在最深的类别中。

它旨在调用

并且基本上得到所有分配了类别的产品。

root_category发生的情况是,如果选择了该类别而不是使用该类别,我只能从其中一个后代类别中获取产品

我怎样才能做到我所说category.products的基本上是上述的?