我在ruby中使用此example for file uploader和highcharts应用程序。 为了使图表有效,我必须将以下文件添加到我的app / assets / javascript:
highcharts.js
jQuery的1.4.2.min.js
rais.js
我的chart.html.erb代码如下:
<%= stylesheet_link_tag "application" %>
<%= javascript_include_tag "jquery-1.4.2.min", "rails", "highcharts" %>
<%= csrf_meta_tag %>
我的图表看起来很漂亮但我无法上传文件。这些javascripts等之间存在某种冲突。 我想将这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")
提前致谢
答案 0 :(得分: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 %>
答案 1 :(得分:0)
回答你的问题:你可以定义自己的资产路径(但不建议这样做),只需在路径前添加斜杠即可。喜欢
<%= javascript_include_tag "/public/javascripts/jquery-1.4.2.min.js", "/public/javascripts/rails.js", "/public/javascripts/highcharts.js" %>