#javascript #jquery #ruby-on-rails #coffeescript
#javascript #jquery #ruby-on-rails #coffeescript
Вопрос:
Я следую этому railscast, чтобы создать диаграмму данных. Он рекомендует мне сделать следующее:
orders.js
jQuery ->
Morris.Line
element: 'orders_chart'
data: $('#orders_chart').data('orders')
xkey: 'purchased_at'
ykeys: ['price', 'shipping_price', 'download_price']
labels: ['Total Price', 'Shipping Price', 'Download Price']
preUnits: '
А затем создайте элемент в представлении с таблицей также в представлении, которая заполняет график. Однако я бы хотел, чтобы данные были не $('#orders_chart').data('orders')
данными, а данными непосредственно из базы данных, чтобы таблица не отображалась на веб-странице. Как мне это сделать?
Комментарии:
1. Чтобы сделать то, что вы хотите, вам нужно сделать ajax-запрос, после получения данных просто отправьте его
Morris data:
. В любом случае, я не понимаю, какую таблицу вы видите в представлении?
Ответ №1:
Шаг 1:
Задайте маршрут в своих файлах маршрутов, который предоставит вам данные json:
get '/get_graph_data', to: 'graphs#data_show', as: 'get_graph_data', defaults: {format: 'json'}
Шаг 2:
Напишите свой контроллер
class GraphsController
def data_show
get the json data
end
end
Напишите запрос ajax get
get_graph_data = ->
url = (you can use a data-tag to get the url from your view)
$.ajax
type: 'get'
url: url
dataType: 'json'
success: (json) ->
send_data_to_morris or another method to change it if necessary
А затем создайте элемент в представлении с таблицей также в представлении, которая заполняет график. Однако я бы хотел, чтобы данные были не $('#orders_chart').data('orders')
данными, а данными непосредственно из базы данных, чтобы таблица не отображалась на веб-странице. Как мне это сделать?
Комментарии:
1. Чтобы сделать то, что вы хотите, вам нужно сделать ajax-запрос, после получения данных просто отправьте его
Morris data:
. В любом случае, я не понимаю, какую таблицу вы видите в представлении?
Ответ №1:
Шаг 1:
Задайте маршрут в своих файлах маршрутов, который предоставит вам данные json:
Шаг 2:
Напишите свой контроллер
Напишите запрос ajax get