0

我将此示例用于 ruby​​ 中的文件上传器和highcharts应用程序。为了让图表正常工作,我必须将以下文件添加到我的 app/assets/javascript 中:

highcharts.js
jquery-1.4.2.min.js
rais.js

和我的charts.html.erb下面的代码:

    <%= stylesheet_link_tag "application" %>
    <%= javascript_include_tag "jquery-1.4.2.min", "rails", "highcharts" %>
    <%= csrf_meta_tag %>

我的图表看起来很漂亮,但我无法上传文件。这些javascript等之间存在某种冲突。我想将这3个文件移动到另一个目录并为charts.html.erb中的代码定义一个路径,以便它可以找到所有必需文件的位置。

我不知道在代码中的哪里写一个定义的路径。像这样的东西:

    <%= stylesheet_link_tag "application" %>
    <%= javascript_include_tag "public/javascripts/jquery-1.4.2.min", "public/javascripts/rails", "public/javascripts/highcharts" %>
    <%= csrf_meta_tag %>

但它告诉我控制台中的错误:

Started GET "/assets/public/javascripts/rails.js" for 127.0.0.1 at 2013-01-15 16:21:19 +0100
Served asset /public/javascripts/rails.js - 404 Not Found (33ms)

ActionController::RoutingError (No route matches [GET] "/assets/public/javascripts/rails.js")

提前致谢

4

2 回答 2

2

您不需要在最新的 rails 版本中明确定义每个 javascript 文件名。

这是因为application.js文件需要树形的每个 js。

//= require jquery
//= require jquery_ujs
//= require_tree .

你只需要那样做——

<%= stylesheet_link_tag    "application", :media => "all" %>
<%= javascript_include_tag "application" %>
<%= csrf_meta_tags %>
于 2013-01-15T15:50:39.057 回答
0

回答您的问题:您可以定义自己的资产路径(但不推荐),只需在路径前添加斜杠即可。像 <%= javascript_include_tag "/public/javascripts/jquery-1.4.2.min.js", "/public/javascripts/rails.js", "/public/javascripts/highcharts.js" %>

于 2013-01-15T15:54:48.680 回答