我正在尝试使用 d3.js设置这样的图表http://bl.ocks.org/4063269#index.html :
我需要通过将方法放在控制器中并将 js 放在 .html.haml 文件中来做到这一点。我已经制作了控制器,但完全不知道如何编写方法。
这些方法需要从 sqlite3 数据库中获取值并将其转换为 JSON 以供 d3.js 使用。有人可以让我开始吗?我不知道现在该怎么办...
我正在尝试使用 d3.js设置这样的图表http://bl.ocks.org/4063269#index.html :
我需要通过将方法放在控制器中并将 js 放在 .html.haml 文件中来做到这一点。我已经制作了控制器,但完全不知道如何编写方法。
这些方法需要从 sqlite3 数据库中获取值并将其转换为 JSON 以供 d3.js 使用。有人可以让我开始吗?我不知道现在该怎么办...
不幸的是,你提出的问题太开放了,更多的细节你会得到更多的帮助;)
所以 javascript 库将对您的应用程序进行 ajax 调用,您的应用程序应该以 json 响应?
在这种情况下,您可以在 config/routes.rb 上进行路由,然后您只需编写如下方法:
class MyController < ApplicationController
def values_for_js
my_data = MyModel.calculate_data
respond_to do |format|
format.json { render json: my_data.to_json }
end
end
end
并且您的 js 应该请求类似http://mywebsite.com/values_for_js.json的内容(或者它可以在 ajax 请求中说需要 json 格式)。如果您无法发出 json 请求,您可以使用 format.js 而不是 format.json