ruby 1.9.3p194, Rails 3.2.3, MySQL
Происходит выборка из таблицы БД, результат запроса возвращается в виде JSON (~18 000 записей). Далее этот JSON используется в качестве данных для построения графика..
Processing by StaticPagesController#index as HTML
Frequencies Load (43.8ms)
Rendered static_pages/index.html.erb within layouts/application (1200.7ms)
Completed 200 OK in 5302ms (Views: 1586.1ms | ActiveRecord: 47.4ms)
Примечание:
Ok, спасибо посмотрю. Как я понимаю просто json принимается асинхронно и происходит отрисовка?
В общем вот мои методы... Только вот еще возник вопрос по поводу as_json.. (если сделать render :text=>some_variable.to_json(), на странице все отображается нормально. Но вот как только мы передадим в переменную JS смотрим инспектор и там в переменной в json вместо [{"freq":0.0395956}] присвено "freq"=>0.0395956).. как правильней передать JSON, что бы так не получалось, может быть литературу в данной теме посоветуете..
Контроллер:
def index
@frequencies = Frequencies.find(3).as_json() #3 записи, это просто для проверки должно быть :all
end
Представление:
<div id="chartdiv" style="width: 100%; height: 400px;"></div>
<script type="text/javascript">
var chart;
var chartData = <%= @frequencies %>;
AmCharts.ready(function () {
// SERIAL CHART
chart = new AmCharts.AmSerialChart();
chart.dataProvider = chartData;
chart.categoryField = "freq";
chart.startDuration = 1.0;
// AXES
// category
var categoryAxis = chart.categoryAxis;
categoryAxis.labelRotation = 90;
categoryAxis.gridPosition = "start";
// GRAPH
var graph = new AmCharts.AmGraph();
graph.valueField = "numbers";
//graph.balloonText = "[[freqs]]: [[value]]";
graph.type = "smoothedLine";
graph.bullet = "round";
graph.lineAlpha = 1;
graph.fillAlphas = 0;
chart.addGraph(graph);
chart.write("chartdiv");
});
</script>
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.