我正在尝试将 d3.js 合并到我的项目中,并且无法弄清楚如何访问 JSON 对象,该对象是从我的 Ruby on Rails 后端提供的。
这是我的控制器代码:
class CoursesController < ApplicationController
respond_to :html, :json
def course
@course = Course.find(params[:id])
respond_with @course do |format|
format.html
format.json {render json: @course}
end
end
我一直在尝试在控制台和我的视图中弄清楚如何访问这些信息。(顺便说一句,如果我废弃了 respond_with 块并只保留了呈现 JSON 块,我可以看到 JSON 对象实际上是一个响应对象)。
这是我一直在尝试的(在视图中):
<%= javascript_tag do %>
var data = d3.json('<%= @course %>');
console.log(data);
<% end %>
这会返回一个对象,但该对象是未定义的,所以当我调用时:
dataset[0].course.course_name;
我收到以下错误:
TypeError: Cannot read property 'course' of undefined
我还在控制台中尝试过类似以下的操作:
var url = '/courses/1';
var dataset = d3.json(url);
dataset[0].course.course_name;
但得到同样的错误。
我对js比较陌生,所以我可能会犯一个菜鸟错误,但是,不管它是什么,我都看不到!
在此先感谢您的帮助!