Все,Rails 3.1 Ненавязчивый Javascript с Flot
Я использую библиотеку графиков Flot в приложении для рельсов. В настоящее время у меня есть страница, работающая как и ожидалось, однако весь javascript для сборки графика флота встроен в мой файл .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