0

この例は、ルビーのファイル アップローダハイチャートアプリケーションに使用しています。グラフを機能させるには、次のファイルを 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 に答える