当前位置: 首页 > 知识库问答 >
问题:

来自Rails的Ajax数据

越国源
2023-03-14

嗨,我刚刚按照Ryan Bates的指南从服务器加载数据,因为客户端与可数据交互。

http://railscasts.com/episodes/340-datatables?view=asciicast

在他的产品数据类中,他定义了一个排序函数

  def sort_column
    columns = %w[name category released_on price]
    columns[params[:iSortCol_0].to_i]
  end

基本上,列名用于查询数据库,因此“名称”、“类别”等都是产品模型的属性。因此,将生成一个SQL SELECT语句,其名称或类别用于对ASC或DESC进行排序。。等等

如果我有数据显示在一个列中,该列没有显式映射到属性...例如product.reviews.count,那么我将如何允许对该列进行排序?

共有2个答案

赫连卓
2023-03-14

我知道这是一个非常古老的帖子(到现在为止),但我只是想让你知道这个宝石:https://github.com/antillas21/ajax-datatables-rails可以帮助您轻松地开始创建datatables类,如您提到的Railscast中所述(它实际上基于相同的模式)。

gem所做的是让您专注于编写查询以从数据库检索模型数据,以及如何在JSONjquery中公开模型数据。数据表需要。

带它去兜兜风。

钱志强
2023-03-14

你需要这样的东西

def sort_column
    columns = ['name', 'category', 'released_on,' 'price', 'number_of_reviews]
    columns[params[:iSortCol_0].to_i]
  end

但这意味着您需要改变获取数据的方式,例如:

Product.where(…).select('name, category, count(reviews.id) as number_of_reviews').group('name, category').includes('reviews')

我无法测试列的定义,您可能必须使用评论。审查次数

 类似资料:
  • 问题内容: 我试图用来返回一个PNG图像作为对ajax发布请求的响应。如何让浏览器触发成功回调上的下载? 细节 我正在使用生成一个大型的base64图像,然后将其发布到Rails(v3.2.6)。Rails将其解码为二进制PNG,然后将图像发送回客户端。 我也尝试过,但是有同样的问题。 其他选择 下载图片客户端: 我们无法这样做,因为(1)Safari在大型base64 URL上崩溃,并且(2)S

  • 问题内容: 是否可以在PHP中处理来自AJAX请求的响应?我不是一个真正的JS开发人员,所以我正在用这个开发人员。 我有点黑了: }); 该功能似乎可以正常运行,它会向我发出有关正确数据的警报。 我需要能够将此输出给用户,以便可读。我发现很多指南都描述了替换数据,但就目前而言,直到选择child_id之前,没有数据。.然后我希望它以可读的方式显示上述数据。 我不知道如何开始使用视图文件(php)中

  • 问题内容: 我正在尝试创建一个书签,单击后将向用户请求一些信息(本例中为url和其他几个字段),然后将该数据发送到服务器上的php页面,然后显示结果。 我想为此进行Ajax调用,以便实际上不重定向到新页面,仅获取数据,但我想我会遇到Ajax的“相同来源策略”限制…。基本上做同一件事的已知方法? 另外,传递参数的最佳方法是什么?我已经有一种机制可以将参数作为表单中的发布消息接收…有什么办法可以重用呢

  • Im使用django通道来实现我的项目中的即时消息应用程序。消息框不占用整个屏幕,所以我尝试使用ajax实现它。Im面临的问题是ajax中的url字段是以http://locahost为前缀的。我不想这样做,因为Im使用ASGI和django通道来实现ws:// 我尝试在url前面加上“/” 我希望url为ws://localhost:8000/messages/ 我现在得到的是 http://l

  • 问题内容: 我想要一个在中运行的应用程序来进行由代码处理的调用。 理想的方法是仅拦截呼叫(简单,只需使用)并“返回”一些数据。 但是,除了使用调用函数外,我没有找到“返回”对的响应的方法。 这对我来说不起作用,因为该应用程序是我无法控制的嵌入式应用程序。就HTML / javascript应用程序而言,它只是进行调用并接收一些数据。 有什么想法吗? 问题答案: 最后,我还是使用了问题中描述的方法。

  • 我希望根据用户的位置/页面触发一个AJAX操作。我构建了以下内容: 当我使用简单地尝试条件时,它工作良好,并且显示。 但是,当我添加部分加载指令时,我会得到以下信息: ActionView::Template::Error(缺少部分消息/@message.comments,Application/@message.comments,{:locale=>[:en],:formats=>[:js,:h