问题标签 [jquery-datatables-rails]

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 回答
1113 浏览

jquery - 用于自定义搜索的服务器端响应的数据表

我用过gem 'jquery-datatables-rails' .

我们将它用于服务器端响应。我们将 railscast #340 用于数据表。

将数据表初始化为

它与列表工作正常。

我们为表格提供了自定义搜索功能。我们不使用数据表中的搜索方法。

我们正在发布数据以使用新方法进行搜索并尝试重新绘制表格。但它什么也没做。

我们如何在 中显示结果datatable

任何帮助表示赞赏。

谢谢

编辑

我们有一个列表页面,其中添加了普通数据表以列出服务器端响应。

像这样在数据表上放置一个搜索表单

搜索表格

数据表

我们将搜索表单发布到 rails 中的另一个操作并收集结果数据。

我们如何替换从列出数据表中的操作中找到的数据?

javascript

这是我们执行 ajax 调用以推送输入值并获取结果的脚本。

但问题是在更新记录之后。它像以前一样重新初始化数据表。这意味着数据表会丢失我们的搜索结果。

我该如何解决这个问题?

0 投票
0 回答
340 浏览

ruby-on-rails - Coffeescript 检测 jquery-datatables-rails 中的事件

我显然没有 CoffeeScript-fu。

我有一个带有jquery-datatables-rails的 Rails 4.1 应用程序,一切正常。

但是,我想在任何时候对数据表进行排序或搜索时隐藏一个类(如果我能找出其中一个,我会很高兴。)我没有太多运气来实现这一点。我无法弄清楚如何从数据表中捕获事件。

我在这里看到了一个用纯 Javascript 编写的很好的例子,但不能在 CoffeeScript 中实现。

有人可以给我一个正确的方向吗?

这是我现有的 CoffeeScript,它禁用了初始排序并禁止对某些列进行排序(这是我想要的。)

先感谢您!

0 投票
1 回答
687 浏览

ruby-on-rails - Selenium 通过 Capybara 未使用 jQuery dataTables 1.10.0 加载页面

我今天通过https://github.com/rweng/jquery-datatables-rails gem将我们的 dataTables 从 jQuery 1.9.2 升级到了 1.10.0 。我执行了所有升级步骤,现在一切都按预期在界面中运行。我在 Chrome 和 Firefox 30 上都对此进行了测试。然后,我运行了涵盖这些规范的规范,而 capybara 每次进入带有数据表的页面时都会超时。我已经尝试了所有我能想到的尝试让页面完全加载。通过浏览器进行测试时,我没有看到测试日志出现错误,也没有看到 javascript 错误。当表格仍在加载时,屏幕截图会返回。

  • 我可以做些什么来进一步调试页面未加载的原因?
  • 从 jQuery 1.9.2 升级到 1.10.0 后是否有一个常见的修复

我弄清楚究竟是什么导致了这个问题。我更新了 dataTable 的 javascript 初始化以停止使用 fnServerData 并使用新的 ajax:'whatever.txt' 将其设置回使用 fnServerData 并恢复背后的逻辑以使用旧的 GET 参数现在已修复它。我仍然想弄清楚是否可以使用 ajax 方式修复 capybara,因为现在传递的参数更有意义并且更容易处理。

任何建议都会很棒。

0 投票
1 回答
296 浏览

jquery - 从 2.2.1 升级到 jquery-datatables-rails 2.2.3 会破坏 RailsCasts 340 Datatables 中的代码

这是信息性的,因为我提出问题并将提供答案。这是为了记录,并帮助任何关注我的人。

我使用 RailsCasts 340 构建 DataTables。它们工作得很好,但我在列宽与表格宽度等方面遇到了一些困难。请参阅数据表行超出表边界,或太窄。一般来说,将 jquery-datatables-rails 从 2.2.1 升级到 2.2.3 以从 DataTables 1.9 升级到 1.10 似乎是一个好主意。这还包括数据表响应 0.2.0。

参考Converting parameter names for DataTables 1.10,您会看到有非破坏性的变量名称更改。它们应该向后兼容 1.9。如果您使用的是本机 DataTables,可能就是这种情况。但是,它不适用于 jquery-datatables-rails,尤其是在参考RailsCasts 340 时

这个问题和答案试图为任何出现的人简化这种转换,并且它可能使最初实现此代码更容易。

0 投票
1 回答
89 浏览

ruby-on-rails - Need two buttons to index either all items or items current user is assigned?

Ruby 2.0.0, Rails 4.0.3, jquery-datatables-rails 2.2.3 (DataTables 1.10.2)

I would like to have two buttons on my form, one to display all items and another to display only those items currently assigned to the current user. Given that I am even going down the right path for this, and I am not certain I am, I have two issues. Or am I on the wrong path?

In the controller action, I am attempting to pass the current user to the view which is created by the ItemsDatatable controller. Debugging shows the index action running twice. The first time, user is set as expected. The second time, user is nil so it is never passed to ItemsDatatable. Why is that and how do I fix it? (If I unconditionally set user in the controller index action, it is passed.)

The second problem is more esoteric. If I am able to set @user in initialize, how do I pass that to as_json and onto the other ItemsDatatable actions? I suppose this is specific to jquery-datatables-rails and I might have to ferret out its logic to decide how to do that? Or is there a Rails way of doing that nicely?

FYI, this is the DataTables pattern from RailsCasts 340 that has been updated for DataTables 1.10.2.

Thanks for the help.

Home page buttons:

ItemsController index action:

ItemsDatatable controller:

0 投票
0 回答
214 浏览

jquery - 如何在 Rails CoffeeScript 中调用 Datatables API 函数

我只是想调用一个函数fnGetNodes()来获取所有节点的数组。(调用数据表函数的来源:http: //datatables.net/api

我设置为:

然而,当我刷新并单击按钮Select All时,我在该行收到以下错误table.fnGetNodes()

在此处输入图像描述

这应该很容易,但是如何在 CoffeeScript 中调用数据表上的函数呢?

0 投票
1 回答
858 浏览

jquery - 将表中的多行返回到 Rails 控制器操作

Rails 4.0.1、Ruby 2.0.0、数据表 1.10、jquery-datatables-rails 3.1.1

我有一个表,该表通过在所需行上指定一个 .active 类来选择多行。我想将活动行(实际上是活动行中的单个字段)返回给我的操作。这是基本问题。如何将类选择的行中的字段数组返回到 Rails 操作?我很茫然,希望能得到帮助。

需要明确的是,我可以在没有帮助的情况下编写路由和操作。我需要了解在视图中必须使用什么类型的按钮或表单来发送行。谢谢。

表视图是: 表视图

表格是:

HTML.ERB 是:

JavaScript 是:

0 投票
1 回答
334 浏览

ruby-on-rails - 缺少 DataTables 全局搜索的 FROM 子句

我正在使用datatablesgem 来显示一个包含两个相关表的表。结果,它从三个不同的表中拉入并显示列。

这工作正常,我什至可以按所需的列进行排序。不幸的是,全局搜索功能已损坏。似乎 SQL 语句的格式不正确。它没有找到要在其上执行 where 子句的表。

错误是:

PG::UndefinedTable: 错误: 缺少表“items”的 FROM 子句条目 LINE 1: SELECT COUNT( ) FROM "item_stores" WHERE ((CAST("items"."de... ^ : SELECT COUNT( ) FROM" item_stores" WHERE ((CAST("items"."description" AS VARCHAR) ILIKE '%b%' OR CAST("stores"."store_name" AS VARCHAR) ILIKE '%b%'))

我使用的模型位于其他两个模型之间,每个模型具有多对一的关系:Items(1)-(M)ItemStores(M)-(1)Stores。

我的原始数据查询是:

index.json.builder

我不知道我能做些什么来修复附加到全局搜索的底层 SQL...任何帮助将不胜感激。谢谢。

0 投票
1 回答
567 浏览

jquery - 添加数据会使数据表消失 - 我的表中不能有数据,否则数据表不起作用

我是 Ruby on Rails 的初学者,目前正在开发一个应用程序,我想为其安装 gem dataTables。一旦我安装了 gem 并按照说明操作,什么都没有发生,也没有任何变化。我的表保持不变。

我正在与:

  • 红宝石 2.1.5p273
  • 导轨 4.2.3

这些是我遵循的阶段:

  1. 我在我的 Gemfile 中写道:gem 'jquery-datatables-rails, ~>3.3.0'
  2. 我运行命令行:bundle install

gem 出现在所有已安装 gem 的列表中。

  1. 我在 app/assets/javascripts/application.js 中写道:

//= require dataTables/jquery.dataTables

//= require dataTables/bootstrap/3/jquery.dataTables.bootstrap

  1. 我在 app/assets/stylesheets/application.css 中写道:

*= require dataTables/jquery.dataTables

*= require dataTables/bootstrap/3/jquery.dataTables.bootstrap

  1. 然后我在名为 index.html.erb 的文件中写道:

我停止了 Web 服务器并再次启动它,但什么也没出现。我的桌子完全一样。dataTables 没有可见的效果。

我想知道我是否安装了正确的文件。所以我直接在官方网站上下载了dataTables的版本,在他们的网站上他们说要放两个文件以便dataTables可以工作。

app/assets/javascripts我创建了一个名为 dataTables 的文件夹,并将所有扩展名为 .js 的文件放入其中

app/assets/stylesheets我对所有扩展名为 .css 的文件做了同样的事情

app/assets/images我也做了同样的事情,我将 dataTables 所需的所有图片放入文件夹 dataTables 中。

然后我去了文件 application.js 和 application.css 并创建了这些文件的路由。

这里再次没有任何效果。有人对正在发生的事情有任何想法吗? 我是初学者,所以我可能没有正确写这篇文章,对此我深表歉意。

感谢您的帮助和时间

我仍在搜索,我发现编写一些 javascript 使 gem dataTables 的一些元素出现......但不是一切。

谁能解释在哪里安装 dataTables gem 的 .js 和 .css 文件?谢谢

0 投票
1 回答
1050 浏览

jquery - 如何对rails中关联记录的jquery数据表列进行排序

在我的 Rails 应用程序中,我使用的是jquery-datatables-rails. 它适用于单个模型。但是如果我有关联的模型,那么我不知道如何使用 sort_column 函数。我的代码低于0。

我的产品.rb

如您所见,在sort_column我使用的方法中,owner.email因为在data方法中我有product.owner.email. 但这不会对表格进行排序。我认为这不是正确的使用方法。这里产品和所有者是具有 has_many 关系的两个不同模型。请让我知道如何使它工作。