问题标签 [acts-as-list]

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 投票
1 回答
2282 浏览

ruby-on-rails-3 - 在 ActiveAdmin 中重新排序

有时我们需要重新排序资源,acts_as_list对这项任务非常有用。我的问题是:在ActiveAdmin框架中实现某些资源重新排序的最佳方法是什么。

我知道没有“最好的方法”,但我想欢迎所有回复,这样人们就可以找到这类问题的各种答案。


我自己写下了一种可能的解决方案,它使用带有拖放功能的 jquery,但不适用于过滤器、范围和排序。也许有理由专门为拖放重新排序使用单独的视图,或者可能有人使用复选框、按钮等制作了不同的 UI……</p>

请分享!

0 投票
1 回答
141 浏览

ruby-on-rails - 使用acts_as_list 并将浮点数转换为int 值

我想在最初用 php 编写并正在移动到 rails 的应用程序中使用acts_as_list。我们使用了一个浮动的“位置”值,这样如果用户想在位置 1 和 2 之间放置一些东西,他们只需在表单中输入 1.5。看起来acts_as_list 只使用整数。act_as_list 中有没有办法让它使用浮点数而不是整数?或者可能将一组浮点数转换为整数以进行插入?

谢谢

0 投票
2 回答
2000 浏览

ruby-on-rails - 如何让 Rails 的acts_as_list 将新项目添加到列表的开头?

我有一个与acts_as_list集成的模型。但是,默认情况下,创建的新项目会添加到列表的末尾。是否有默认方式将新项目添加到开头

谢谢!

0 投票
2 回答
2161 浏览

ruby-on-rails - 使用acts_as_list gem 时重置位置属性?(导轨)

我有一个简单的 Rails 3 应用程序,其中一个目标有许多目标。在我看来,我允许用户对任何给定目标的目标重新排序,并且我正在使用acts_as_list gem 来实现其中的一些功能。

目标模型:

目标模型:

我还希望允许用户更改与特定目标相关联的目标。我会假设acts_as_list只要更改了目标的目标(因为我定义了scope => :goal),gem 就会重置位置列,但它只是保留当前位置。

对我来说,这是不可取的,因为在新目标的背景下,这个位置不再有意义。我宁愿重置位置,并将目标移动到与之关联的新目标的底部。所以我写了这个方法before_save在目标模型中发生:

stack level too deep不幸的是,当我尝试保存时,这会导致错误。关于如何解决这个问题的任何想法?

0 投票
2 回答
979 浏览

ruby-on-rails - 防止将默认范围应用于acts_as_list

我使用acts_as_list来生成书的槽号:

acts_as_list :scope => :book_id, :column => :slot

并有一个默认范围,可防止已删除(软删除)书籍进入结果集:

default_scope where(:is_active => true)

我想防止默认范围应用于acts_as_list 声明,因为如果有人删除最后一本书并创建一个新书,他们会得到相同的插槽号(因为当它获取最后一个插槽号时,默认范围被应用并且它没有得到已删除的条目)。我知道unscoped,但是如何将它与acts_as_list 一起使用?

我正在使用 Rails 3.0.11。

0 投票
1 回答
1613 浏览

ruby-on-rails - rails:使用 :order 对 has_many 进行排序由于时间戳排序而无法正常工作

我有一个 Rails 模型,假设用户与 Post 有很多关系。Post 包含一个名为 position 的属性,用于存储位置(acts_as_list gem)。位置存储用户帖子列表中的位置(顺序不是由于创建/修改帖子)。此外,帖子存储了时间戳(t.timestamps在迁移中)

所以我在 User.rb 中定义了以下内容:

但是,当我这样做时User.first.posts,帖子不是按位置排序的。我已经检查过,正在查询的 sql 包含以下内容:

所以 created_at 仍在使用中。

如何按位置排序而不使用 created_at 属性?

提前致谢!

解决方案 我在 Post 中定义了一个默认范围,该范围正在创建不希望的订单。

问题解决了

0 投票
1 回答
394 浏览

ruby-on-rails - 在视图中订购 has_many 列表

我有一个名为 Person 的模型,用户为其选择了五个个性特征。但是,他们选择它们的顺序很重要(他们选择描述性最强到描述性最差)。

我知道如何创建一个带有毒药的连接表并以这种方式进行排序。我也在使用acts_as_list。

但我似乎找不到任何帮助,如何为我的应用程序的用户创建一种设置特征顺序的方法。那就是我想在 HTML 中说五个选择框,让他们选择每一个,并使用 jQuery UI Sortable 之类的东西,让他们可以随意移动它们。

这是我的模型的基本概念(为了获得概念而进行了简化)。

我只是不知道如何在我的视图/控制器中进行定位,以便在提交表单时知道哪个特征在列表中的哪个位置。

0 投票
1 回答
216 浏览

ruby-on-rails - 麻烦更新has_man:通过记录

我在通过记录更新 has_many 时遇到问题。这是我的设置:

我试图为此使用acts_as_list,因为TastinGroup 中葡萄酒的顺序很重要,所以我在GroupWine 模型中添加了一个“位置”属性。

但是,当我尝试更新 GroupWine 记录时,我收到以下错误,这就是我正在做的事情。

这是我得到的错误......

group_wines 的 NULL 是怎么回事,为什么要添加 where 子句?

谢谢。

0 投票
1 回答
652 浏览

ruby-on-rails - 使用acts_as_tree 和acts_as_list 进行依赖销毁

目前我将rails 2应用程序升级到rails 3.2.13,它使用acts_as_tree和acts_as_list。之前,升级它运行良好。因为,我对acts_as_tree 和acts_as_list 有依赖破坏的问题。

我必须模型:

鉴于我有一个用户:

有 2 个类别,其中一个类别是另一个类别的子类别:

当我尝试销毁用户时,dependent: :destroy尝试销毁类别。它破坏了第一类。由于该类别有一个孩子(id 2)acts_as_tree 也将其销毁。但后来似乎acts_as_list 试图重新加载第二类的位置。自然,它不再存在,所以它提出:

任何人都有解决它的想法?

PS:Rails 3.2.13、Ruby 1.9.3、acts_as_tree 1.4.0 和acts_as_list 0.2.0

0 投票
1 回答
346 浏览

ruby-on-rails - 多租户应用程序中的acts_as_list - 如何设置范围?

问题

我在多租户应用程序中使用acts_as_list。我使用这个 Railscast 对多租户建模:#388 Multitenancy with Scopes(需要订阅)。

我需要确保我的 around_filter 正常工作,以便租户不会影响其他租户的数据。

由于acts_as_list 忽略default_scope,确定acts_as_list 范围以强制执行多租户的最佳方法是什么?

背景

基本思想是在 application_controller.rb 中使用 around_filter,如下所示:

这样,每次在应用程序中加载页面时,都会设置 current_tenant,我可以使用 default_scope 来限制仅访问 current_tenant 的内容。像这样:

但是acts_as_list 使用Model.unscoped(在本例中为Submission.unscoped),绕过了我的default_scope。

这是我正在研究的特定模型:

我在其他几个地方这样做,但我使用 id 列而不是 for_date,所以acts_as_list 声明如下所示:

效果很好。但是当我用我的提交模型尝试这个,并在acts_as_list范围中包含for_date时,我得到了这个错误:

我将如何添加这样一个明确的类型转换?还是有更好的方法来做到这一点?