Ruby on rails 3.2 用D3在Rails应用程序中显示hello world

Ruby on rails 3.2 用D3在Rails应用程序中显示hello world,ruby-on-rails-3.2,d3.js,Ruby On Rails 3.2,D3.js,我的index.html中只有以下内容: <!DOCTYPE html> <meta charset="utf-8"> <body> <script src="d3/d3.v3.js"></script> <script> d3.selectAll("body").text("hi") </script> </body> d3.选择全部(“正文”)。文本(“hi”) D3的结构是这

我的index.html中只有以下内容:

<!DOCTYPE html>
<meta charset="utf-8">
<body>

<script src="d3/d3.v3.js"></script>

<script>
    d3.selectAll("body").text("hi")
</script>

</body>

d3.选择全部(“正文”)。文本(“hi”)
D3的结构是这样的:

但是当我启动rails并转到localhost3000时,页面上没有显示任何内容。
我确信我在那里做了一些愚蠢的事情,但对D3来说是个新手,我试图找出我做错了什么。

你在控制台上看到javascript错误了吗?您正在视图中使用相对路径。将文件移动到
/public/d3
文件夹,然后尝试:

<script src="/d3/d3.v3.js"></script>

实际上,如果您使用的是资产管道,那么应该将javascript放在
assets
文件夹中

在gem文件中使用
d3\u rails
gem(get):

gem'd3_轨道'

要使用资产管道,请添加到
application.js

/=需要d3.v3


d3 javascript将自动包含在您的javascript
application.js
文件中。

如果问题是您无法打印消息,可能是因为您没有指定在正文中附加“文本”以包含文本本身。 这是可行的(请注意,我从web上调用了d3.js库):


//宽度和高度
var w=600;
var h=250;
d3.选择全部(“主体”)
.append(“文本”)
.文本(“hi”);

你的Rails应用程序看起来像是在默认主页上运行吗?@summea:是的……如果我在正文中添加一个like段落标记并说“嗨”,它会在浏览器中显示“嗨”。可能它的“路径”不对?但我该如何给它路径?是的,先生,我也有assests文件夹,您能不能以使用Assets文件夹的方式更新您的答案?谢谢。我的资产文件夹在这里:app/assets/为什么rails应用程序中的d3默认会在公用文件夹中查找资产。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title></title>
    <script type="text/javascript" src="http://d3js.org/d3.v3.min.js"></script>
    <style type="text/css">     
    </style>
</head>
<body>
    <script type="text/javascript">

        //Width and height
        var w = 600;
        var h = 250;

        d3.selectAll("body")
            .append("text")
            .text("hi");

    </script>
</body>
</html>