11

嗯,尝试将 javascript 文件如下加载到我的 html.erb 文件中

 <script src="/public/javascripts/test.js" type="text/javascript" /> 

它在公共文件夹和根目录中可用

根/公共/javascript

但它给了我一个错误说

 "NetworkError: 404 Not Found  - http://0.0.0.0:3000/public/javascripts/test.js"

什么可能是错的?有没有其他方法可以在 rails 中包含 javascipt 文件?

4

4 回答 4

28

如果 javascript 文件位于 Rails 3.x 的任何资产文件夹(assets、vendor、bundle)中,则可以通过添加以下内容将脚本添加到 html.erb 文件中:

<%= javascript_include_tag('test.js') %>
于 2013-08-30T13:31:50.817 回答
3

你不使用公共。Public 是服务器的隐含根。

服务器将公开查找文件,如果找不到匹配项,则尝试通过您的路由器路由该文件。

javascript_include_tag如果您正在使用资产管道,您可能还需要考虑使用帮助程序。

于 2013-08-30T13:30:05.687 回答
2

Rails 默认使用资产管道,因此自定义 js 文件需要进入 app/assets/javascript 目录。比你甚至不需要在你的视图中加载文件。

但至于你的问题。

要从公共目录提供文件,您需要启用配置设置

config.serve_static_assets = true

您通常会将其放在其中一个环境配置文件中。

于 2013-08-30T13:27:14.403 回答
1

要从公共目录服务器文件,请执行上述设置并点击

config.serve_static_assets = true
<script src="/javascripts/test.js" type="text/javascript" /> 
于 2013-08-30T13:29:34.823 回答