0

我想在我的 Rails 应用程序中使用数据表,但我想避免自己准备 JSON 数据,所以我正在寻找一个可以做到这一点的 gem。理想情况下,我会传递一个 ActiveRecored Relation 和 gem 生成的 JSON 可以被数据表使用,例如:

class ItemsController < ApplicationController
  def index
    # I fetch data I need (taking into account authorization, search etc.)
    @items = Item.find_relevant_items         
    respond_to do |format|
      # gem prepares JSON for datatables 
      format.json { ItemDatatable.new(@items) } 
      # ...
    end
  end
end

我知道有几个可用的宝石。但是,它们不适合我:jquery-datatables-rails只是 JS 的包装器,而其他的似乎已过时或未维护(ajax-datatables-railsrails_datatablessimple_datatables)。

您知道任何可以为数据表提供数据的 gem 吗?

4

3 回答 3

2

Ruby 的JSON模块是内置的,require 'json'位于 Ruby 脚本的顶部以使其可用。有关更多信息,请参阅“如何使用 Ruby on Rails 解析 JSON? ”。

Rails 也包含 JSON 功能。有关使用 JSON 和 Rails 的信息,请参阅“了解 Ruby 和 Rails:使用 JSON 序列化 Ruby 对象”。Rails 是一个快速发展的平台,所以它可能有点过时,但它应该让你开始。“ Rails 中的 Lightning JSON ”是一本很好的读物,了解生成 JSON 时需要注意的事项。

“ Ruby 的JSON 实现”也是 Ruby 和 JSON 的一个很好的参考。

于 2013-02-22T18:36:55.217 回答
1

我发现在 Rails 应用程序中使用数据表的最佳方法是:

jquery-datatables-rails gem获取数据表所需的所有资产

ajax-datatables-rails gem获取使用服务器端分页和搜索时期望的 JSON 数据表。

如果您不想像在 RailsCast 中那样创建一个新类,还有其他 gem 可以更轻松地生成所需的 JSON 数据表。你可以在这里找到它们

于 2013-09-24T21:52:31.083 回答
0

RABL 和 JBuilder 都浮现在脑海中。它们是 json 模板处理程序,使用起来非常简单,并且两者都同样强大,可以完全自定义 json 输出。

他们俩都有railscasts

http://railscasts.com/episodes/320-jbuilder

http://railscasts.com/episodes/322-rabl

和网站

https://github.com/rails/jbuilder

https://github.com/nesquena/rabl

两者都维护得很好。

否则,datatables-rails gem 确实是您的最佳选择

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

更新 2

这是你已经看过的宝石

根据 railscast,gem 是在 Gemfile 中定义的

group :assets do
  gem 'jquery-datatables-rails', github: 'rweng/jquery-datatables-rails'
  gem 'jquery-ui-rails'
end

我强烈建议您观看 railscast ( http://railscasts.com/episodes/340-datatables?view=asciicast ),因为还需要其他配置。

于 2013-02-22T18:41:48.890 回答