Ich versuche, eine einfache Rails-Anwendung (-v 5.1.4) auszuführen, die eine der Samples implementiert, die mit der Amcharts-Bibliothek geliefert werden.Rails 5.1.4: Assets von Drittanbietern in/Vendor werden nicht in der Ansicht angezeigt
Hier ist, was tat Arbeit:
- erstellen
/app/assets/javascripts/amcharts
Ordner - Kopie Inhalte Dritter zu
/app/assets/javascripts/amcharts
- hinzufügen
//= require amcharts
zu/app/assets/javascripts/application.js
ich den Schienen-Server und die Grafik laufen wird wie erwartet angezeigt, wenn Sie die ursprüngliche Standalone-HTML-Ansicht anzeigen. Daher gehe ich davon aus, dass der bearbeitete Code korrekt funktioniert.
Hier ist, was tat nicht Arbeit:
- erstellen
/vendor/assets(/javascripts)/amcharts
Ordner - Kopie Inhalte Dritter zu
/vendor/assets(/javascripts)/amcharts
- hinzufügen
//= require amcharts
-/app/assets/javascripts/application.js
- hinzufügen
config.assets.paths << Rails.root.join('vendor/assets(/javascripts)/amcharts')
-config/application.rb
- relative Pfade hinzufügen zu
app/assets/application.js
Wenn ich den Schienen Server kein Fehler laufen gegeben wird, aber die Anwendung zeigt eine leere weiße Seite anstelle des Diagramms zeigt die Quelle-Code der Seite den Code meiner Ansicht-Datei wie erwartet.
Seit meiner jeweiligen Ansicht amcharts.html.erb
genannt Ich habe ein amcharts.coffee
-Dateien in meinem app/assets/javascripts/
-Ordner. Könnte es sein, dass Kettenräder fälschlicherweise davon ausgehen, dass es sich um die benötigte Datei handelt?
Auch ich frage mich, was die app/config/manifest.js
ist. Alle manifestieren bedingten Veränderungen scheinen sowieso in der app/assets/javascript/application.js
Datei gemacht werden ...
EDIT: Eine verkürzte Version meiner Ansicht-Datei app/views/amcharts/index.html.erb
(modifizierter Code der Proben aus amCharts lib)
<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>
haben Sie diesen Weg versucht: https://rails-assets.org/#/components/amcharts3 –
@WasifHossain Vielen Dank für das Teilen dieses Edelsteins. Ich habe schon andere Edelsteine ausprobiert, aber sie waren nicht kompatibel. Diesen konnte ich installieren. Aber leider bleibt das Problem bestehen. Ich werde die ersten Zeilen meines View-File-Codes im ursprünglichen Post bereitstellen. Vielleicht gibt es ein Problem, das ich nicht bemerkt habe. Ich fürchte auch, ich würde in die gleichen Schwierigkeiten geraten, wenn ich das nächste Mal Inhalte von Drittanbietern hinzufügen muss. –
Ich würde vorschlagen, überhaupt nicht zu fürchten, sondern mutig voranzukommen :) persönlich fand ich Schienen-Assets, um zu helfen, 3rd Party Assets auf eine viel sauberere Art und Weise zu erhalten. –