2013-12-23 3 views
0

У меня есть этот код на мой взгляд в index.html.erbВызов моей модели в JavaScript в html.erb

<html> 
<head> 
<!--Load the AJAX API--> 
<script type="text/javascript" src="https://www.google.com/jsapi"></script> 
<script type="text/javascript"> 

    // Load the Visualization API and the piechart package. 
    google.load('visualization', '1.0', {'packages':['corechart']}); 

    // Set a callback to run when the Google Visualization API is loaded. 
    google.setOnLoadCallback(drawChart); 

    // Callback that creates and populates a data table, 
    // instantiates the pie chart, passes in the data and 
    // draws it. 
    function drawChart() { 

    // Create the data table. 
    var data = new google.visualization.DataTable(); 
    data.addColumn('string', 'Topping'); 
    data.addColumn('number', 'Slices'); 

ActiveRecord.connect() 

    var accounts = Account.find({ 
     all: true, 
     order: 'id DESC' 
    }); 

for (var i=0;i<accounts.length;i++) 
{ 
    document.write(accounts.a_name); 
    data.addRow([accounts.a_name, accounts.a_amount]); 
} 



    // Set chart options 
    var options = {'title':'Accounts balance distribution', 
        'width':600, 
        'height':500}; 

    // Instantiate and draw our chart, passing in some options. 
    var chart = new google.visualization.PieChart(document.getElementById('chart_div')); 
    chart.draw(data, options); 
    } 
</script> 
</head> 

<body> 
<!--Div that will hold the pie chart--> 
<div id="chart_div"></div> 
</body> 
</html> 

Модель счета не возвращает значение, вы знаете, как изменить код сделать его возвращает значения

Спасибо и с нетерпением ждем ваших отзывов /Mohamed Sami

+0

Я не знаю JavaScript, я просто использую его для просмотра визуального отчета –

+0

Я не вижу никаких '<%= %>' в вашем html.erb. Я думаю, что они вам нужны, чтобы передавать данные из Ruby в JavaScript. –

ответ

4

с Еврорадио стоит для встраиваемых Ruby, вы должны вставлять его:

Итак, когда вы пишете var accounts = value, вам нужно вставить 'значение' в <%= и %> и убедиться, что значение имеет некоторый рубин, который возвращает соответствующую строку для вашего Javascript (то же самое, что вы бы записали жестко, если это не было динамическим).

+0

Вот модифицированный код после его фиксации <% @ accounts.each do | account | %> \t data.addRow (["<% = account.a_name%>", <% = account.a_amount%>]); <% end %> Спасибо –

Смежные вопросы