すべて、Rails 3.1 Flotを使用した控えめなJavascript
私はレールアプリケーションでFlotグラフライブラリを使用しています。私は現在、期待どおりのページが動作していますが、flotグラフをまとめるためのjavascriptはすべて、 "view" .html.erbファイル内にインライン展開されています。
javascriptの静的部分を外部ファイルに移動する簡単な方法はありますか?ビュー/コントローラで動的データを定期的に生成し、javascriptファイルに渡しますか? ( "データ・メッセージ" ??を通じて)
は、基本的なレイアウトは次のようになります。
コントローラー:
@portfolios = # a bunch of portfolios
ビュー:私はこれを回避するためにやった
<script type="text/javascript">
jQuery(document).ready(function($) {
// show & hide some stuff
var options = {
.......
};
// THIS IS THE DYNAMIC PORTION
var portfolio_collection = []
var id_lookup = []
<% @portfolios.each do |portfolio| %>
<% attribute1 = portfolio.attribute1 %>
<% attribute2 = portfolio.attribute2 %>
portfolio_collection.push([<%= attribute1 %>,<%= attribute2 %>]);
id_lookup.push([<%= portfolio.id %>]);
<% end %>
// END DYNAMIC
var plot = $.plot( // This is the plot command, puts graph in #select div
$("#select"),
[ { data: portfolio_collection, label: "Return"} ],
options
);
// A SCHWACK OF JAVASCRIPT
........
</script>
<h1>My HTML content...</h1>
<br />
<div id="select" style="width:600px;height:300px;"></div>
.... a bunch of other divs which renders javascript results from clicking on the graph ....
ああ、それはそのままだと思います:) – Brandon