我创建了一个新的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”。
答案 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按预期加载。