外部JavaScript文件在Rails中不起作用

时间:2016-02-23 04:42:45

标签: javascript html ruby-on-rails

我创建了一个新的Rails 4项目,我正在尝试在HTML文件中加载外部JavaScript文件。我已将JavaScript文件放在/assets/javascripts目录中,并将该文件包含在我的HTML文件中。

我的HTML文件:

<html>

    <body>
        <script src="/assets/hello.js"></script>
    </body>


</html>

我的JavaScript文件:

document.write("test");

加载网站时,我的网页浏览器控制台中没有显示任何错误。我很确定我将JavaScript文件放入正确的目录,但文件将无法运行。 Rails是否需要外部JavaScript文件才能正常工作?

我还尝试在JavaScript文件中定义一个方法并在<script>标记内调用它,但我得到一个“Uncaught ReferenceError:methodname not defined”。

2 个答案:

答案 0 :(得分:1)

您可能需要在application.js中列出'assets / hello.js'。 Rails资产管道根据它在那里找到的文件路径将所有JavaScript编译成application.js。

此处有更多信息:http://railsapps.github.io/rails-javascript-include-external.html

答案 1 :(得分:1)

所以我弄清楚为什么Rails没有加载我的JavaScript文件。当我创建Rails项目时,它包含.coffee脚本,可以用来代替JavaScript。出于某种原因,默认情况下,正在运行.coffee脚本而不是我创建的JavaScript文件。删除.coffee脚本后,我的JavaScript按预期加载。