1

我正在尝试使用 d3.js设置这样的图表http://bl.ocks.org/4063269#index.html :

在此处输入图像描述

我需要通过将方法放在控制器中并将 js 放在 .html.haml 文件中来做到这一点。我已经制作了控制器,但完全不知道如何编写方法。

这些方法需要从 sqlite3 数据库中获取值并将其转换为 JSON 以供 d3.js 使用。有人可以让我开始吗?我不知道现在该怎么办...

4

1 回答 1

3

不幸的是,你提出的问题太开放了,更多的细节你会得到更多的帮助;)

所以 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

于 2012-12-09T09:41:37.357 回答