问题标签 [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 投票
4 回答
3264 浏览

ruby-on-rails - 具有 has_and_belongs_to_many 关系的acts_as_list

我找到了一个名为acts_as_habtm_list 的旧插件——但它适用于Rails 1.0.0。

现在这个功能是内置在acts_as_list 中的吗?我似乎找不到任何关于它的信息。

基本上,我有一个 Artists_events 表 - 没有模型。这种关系是通过指定 :has_and_belongs_to_many 的这两个模型来处理的

在这种情况下如何指定顺序?

0 投票
1 回答
361 浏览

ruby-on-rails - 在heroku上的acts_as_list postgres错误

我们使用 has_many_polymorphs 和acts_as_list。在本地一切正常,但在 heroku 上,每次调用几个 act_as_list 方法时都会出错。即由于添加或删除列表中的项目而更新具有新位置的许多记录的那些。

act_as_list 方法示例:

Postgres 错误示例

AdsPlacement.rb

0 投票
1 回答
562 浏览

ruby-on-rails - 在 Rails 控制器方法中对项目进行排序

我在编写控制器操作时遇到问题,该操作将 Post id 作为参数传递并在发布之前将它们排序为特定顺序。

帖子有一个position属性(我使用acts_as_list 进行排序),并且要么已发布,要么未发布(可使用named_scopesPost.publishedPost.unpublished相应地搜索)。

本质上,有一个 JavaScript 接口允许用户将未发布的帖子拖到队列中,并通过将 id 作为post_ids参数传递给控制器​​方法来发布它们,如下所示:

发布这样的帖子效果很好。接下来我需要做的是按特定顺序按位置对帖子进行排序,这就是我遇到问题的地方。

假设用户将帖子 5、帖子 3、帖子 7 拖入队列并单击“发布”。

然后我想要做的是组织所有 Posts 在第一个位置按顺序排列 5、3、7,然后按照它们已经在的顺序排列其余 Post 对象,因此按 Post.position 排序将是[5, 3, 7, ...the rest of the posts in order here...]

然后,如果用户将两个新帖子拖入队列并单击“发布”(这次假设帖子 2 和 4),帖子应该按顺序排列[2, 4, 5, 3, 7, ...the rest of the posts in order here...]

最后一个例子,假设用户将帖子 10、1 和 12 移动到队列中并发布,顺序应该是[10, 1, 12, 2, 4, 5, 3, 7, ...the rest of the posts in order here...]等等......

我会展示我一直在处理的代码,但我不确定它是否会有所帮助,因为我还没有正确排序。但基本上我想这是一个取两个数组的问题,第一个是所有帖子,第二个是要发布的帖子,并将每个项目放在帖子发布数组中的所有帖子数组的开头,然后发布。我似乎无法让它工作。在这里的任何帮助将不胜感激,我提前感谢您的时间!

编辑 如果有帮助,这是我到目前为止编写的代码。在测试中,似乎此方法第一次正确地对队列中的帖子进行了排序,但是任何后续发布的帖子都不会移动到已发布帖子列表的前面。

0 投票
1 回答
442 浏览

ruby-on-rails - Acts_as_list 是最后一个吗?方法没有按预期工作还是我犯了一个错误?

所以我在我当前的 rails 项目中使用acts_as_list。我遇到了以下奇怪的行为:

当我从列表中删除一个项目(item.remove_from_list)时,它会正确地将此项的位置列设置为nil并更新其他列表项的位置值。

但是,当我最后一次打电话时?在列表中的“最后一个”项目(例如位置编号最高的项目)上,它返回 false。实际上,列表中的每一项都会返回false到最后?方法。我突然好像失去了我的最后一个?物品!

这里出了什么问题?

亲切的问候,欧文

0 投票
3 回答
6293 浏览

ruby-on-rails-3 - 有没有人让acts_as_list 在rails 3 上工作?

我通过将以下行放入 Gemfile 和“捆绑安装”进行安装:

但是,当我尝试使用它时,结果并不如预期:

这个插件是否不适用于 rails 3 或者我错过了一步?

这是我正在使用的代码:

这是控制台:

0 投票
2 回答
1016 浏览

ruby-on-rails - Rails 3 / RVM - 本地编译的 Acts_as_list - 为什么 Ruby 看不到这个 Gem?

我无法弄清楚为什么 rails/ruby 看不到这颗宝石,尽管每个人都告诉我宝石是可见的。我从 github 分支本地编译了这个 gem,因为主要版本似乎在 Rails 3 中被破坏了。或者我可能完全错过了其他东西。

谁能解释为什么会发生这种情况?我真的很感激!

**更新——对 Andrew Marshall 建议的回应**

我将 Gemfile 更改为直接从 git 读取 gem,但并没有解决问题。这是否意味着这个宝石有问题?错误消息不是很有帮助;-)

删除:

然后通过以下方式添加回来:

即使 bundle show 与该页面上的提交匹配,同样的问题:

我刚刚查看了 gem,似乎 gem 中没有名为“acts_as_list”的文件。所以它似乎是特殊的,尽管 Rails/Ruby 的报告很差。

API 似乎已更改为:

0 投票
1 回答
982 浏览

ruby-on-rails - act_as_list - 不拖!

我遵循了几个教程来完成这项工作,但我无法获得可拖动的项目。这是我所做的:

添加gem 'acts_as_list'到我的 GemFile 并做了一个bundle install

添加<%= javascript_include_tag :defaults %>到我的 application.html.erb

在我的设施中添加了一个:integer名为position的列;

添加acts_as_list到我的设施模型中;

在我的设施模型中添加了排序方法:

在我看来添加了这个:

将此添加到路线中:

但最后我只有一个普通的列表,不可拖动!我错过了什么?

谢谢!

0 投票
1 回答
1304 浏览

ruby-on-rails - Rails - 具有多个模型的acts_as_list

我已经设法act_as_list一个一个地使用我的模型(这很容易),但现在我遇到了问题。

在我的应用程序中有 3 个模型FacilityServiceActivity。我需要acts_as_list在他们的工会上使用……可以这样做吗?

希望我的问题很清楚

0 投票
1 回答
3543 浏览

jquery - Rails 3.1:未定义的 sortable_element 使用acts_as_list gem - 如何修复?

如何从acts_as_list gem 中获取sortable_element 以与Rails 3.1 配合使用?我认为这是因为使用 jquery 而不是原型所以我失去了那个辅助方法?这是正确的吗?在这种情况下,这是否意味着我需要使用 jrails(以及如何在 Rails 3.1 中最好地做到这一点)?

0 投票
0 回答
672 浏览

ruby-on-rails - 在 Rails 3.1.rc4 应用程序中一起使用acts_as_list 和nested_form

我最初将此作为问题发布在 nested_form 上,但没有任何见解。详细信息在这里:https ://github.com/ryanb/nested_form/issues/66

回顾:

我有一个稍微不寻常的要求,这意味着我在添加/删除嵌套模型时需要尊重acts_as_list 的位置。

我不认为这很奇怪——我的旅程有一个目的地,它们的顺序决定了起点和终点。

当然,这意味着我不能使用 f.link_to_add 和 f.link_to_remove 的标准助手,因为它们是表单级助手,我希望助手与嵌套表单坐在一起。我可以处理 JS 来更新后续腿的位置没问题,但我想知道是否已经有一种既定的方法可以做到这一点,或者我是否需要分叉,构建新的助手然后发出拉取请求?我在想像能够做的事情:

想法?

从那时起,我一直在修补自己的助手,只要我想添加一条腿,它就会将表单保留回来,并使用acts_as_list insert_at_position 方法。这感觉很hacky,虽然不是很优雅。有什么东西可以使这更容易或更优雅的方法。本质上,我希望能够:

  1. 在列表中的任何现有腿之间或列表末尾添加腿
  2. 理想情况下,在用户保存表单之前不必将对象保存到数据库
  3. 当然,仍然能够加入acts_as_list 提供的可排序内容和其他优点。

建议?