2017-11-21 24 views
0

amchartsライブラリに付属しているサンプルの1つを実装する単純なrails(-v 5.1.4)アプリケーションを実行しようとしています。ここでRails 5.1.4:/ vendorのサードパーティ資産が表示されない

がやったこと仕事だ:

  • /app/assets/javascripts/amcharts
  • から/app/assets/javascripts/amchartsフォルダ
  • コピーサードパーティのコンテンツを作成し、私はレールサーバとグラフを実行//= require amcharts

/app/assets/javascripts/application.jsにを追加元のスタンドアローンのHTMLビューを見てから期待どおりに表示されます。したがって、私は編集されたコードが正しく動作していると仮定します。ここで

仕事しませんでした何:

  • /vendor/assets(/javascripts)/amcharts
  • から/vendor/assets(/javascripts)/amchartsフォルダ
  • コピーサードパーティのコンテンツを作成/app/assets/javascripts/application.js
  • //= require amchartsを追加config.assets.paths << Rails.root.join('vendor/assets(/javascripts)/amcharts')
  • config/application.rbに相対パスを追加追加私はエラーが与えられていないが、アプリケーションではなく、グラフの空白のページが表示されたレールのサーバーを実行すると、予想通り app/assets/application.js

に、ページのソースコードは、私の見解・ファイルのコードを示しています。

私のそれぞれのビューはamcharts.html.erbと呼ばれているので、私はamcharts.coffee -fileを私のapp/assets/javascripts/ -folderに持っています。スプロケットはそれが必要とするファイルであると誤って判断できますか?

また、app/config/manifest.jsが何であるのだろうか。関連するすべての変更はとにかくapp/assets/javascript/application.jsファイルで作られているように見えるマニフェスト...

EDIT:私のビューファイルの短縮バージョンapp/views/amcharts/index.html.erb(LIB amchartsからのサンプルの修正コード)

入れ
<div id="chartdiv" style="width: 100%; height: 400px;"></div> 
<script type="text/javascript"> 
var chart; 
var chartData = [ { $data } ]; 
AmCharts.ready(function() { 
    chart = new AmCharts.AmSerialChart(); 
    chart.dataProvider = chartData; 
    $AmCharts.funs 
    chart.write("chartdiv"); 
}); 
</script> 
+0

あなたはこのようにしました:https://rails-assets.org/#/components/amcharts3 –

+1

@WasifHossainその宝石を共有してくれてありがとう。以前は他の宝石を試してみましたが、両立できませんでした。これは私がインストールできたものです。しかし残念ながら、この問題は依然として残っています。元の投稿に私のビューファイルコードの最初の行を提供します。たぶん、私が気付かなかった問題があります。また、次回にサードパーティーのコンテンツを追加しなければならないときに、同じ問題に遭遇するのではないかと心配しています。 –

+0

私は恐怖にならないように提案し、むしろ大胆に進みます:)個人的には、第三者の資産をもっときれいに維持するのに役立つレール資産があります。 –

答えて

0

私はプロと私のファイルを共有する機会を得て、彼は問題を解決しました。 /アプリ/資産/ Javaスクリプトの//= require amcharts3//= require amcharts3/serialを追加し、宝石 'amchartsレール' 'レール-資産-amcharts3' をインストールし

    をapplication.js:移動するための方法でしたベンダーやアセットのサードパーティーコンテンツをどのように含めるか、私はまだ不思議です。しかし、間違ったフォルダにファイルがない状態ですべてが動作しているので、私はこれを答えたものとしてマークします。助けようとした皆様に感謝します!

  • -1

    JSパッケージはの直下にあり、vendor/assets/javascriptsにはありません。たとえば、/vendor/assets/amcharts/amcharts.jsライブラリを//= require amcharts経由でアプリケーションに追加します。より具体的な例については

    、ここで私はRailsの5アプリケーション内のDataTableライブラリを含む構造化しまし方法は次のとおりです。

    vendor/assets/DataTables-1.10.16/js/dataTables.bootstrap4.js 
    vendor/assets/DataTables-1.10.16/js/jquery.dataTables.js 
    vendor/assets/DataTables-1.10.16/css/dataTables.bootstrap4.css 
    

    こと(vendor/assets以下のフォルダ階層を注意DataTableのパッケージが提供する正確に何である。)

    application.css:

    /* 
    *= css/dataTables.bootstrap4 
    */ 
    

    アプリケーション。js:

    +0

    お返事ありがとうございます!ライブラリファイルをvendor/assets/amchartsにコピーし、application.jsに '// = amcharts/amchartsを必要とし、// // amcharts/serialが必要です 'を追加しました。また、私は 'を試した// // amcharts'が必要です。運がない。 –

    +0

    これはタイプミスですか? '// = amcharts'が必要です(編集:ああ、ライブラリの正しい名前はありませんでした。 –

    関連する問題