2013-06-12 39 views
0

我想在簡單的Rails項目中使用d3.js。我使用的是非常簡單的方式:直接把D3的JavaScript代碼中的index.html.erb:如何在d3.js中調用Rails模型方法?

#index.html.erb 
<script type="text/javascript"> 
.... 
rect.on("click", function(d) { 
    var dataset = <%= Model.a_method d[0] %>; 
.... 

我需要調用「上點擊」功能裏面的方法,我敢肯定的數據( d)已經正確綁定到「rect」。但在<%= %>裏,d沒有定義。換句話說,如果我使用<%= Model.a_method 10 %>而不是使用「d」,它可以正常工作。有沒有辦法克服這個問題,或者我錯過了什麼?謝謝你的幫助。

回答

1

編號ruby代碼位於服務器端,JavaScript代碼位於客戶端。你只能先使用ruby生成javascript代碼,然後才能執行javascript代碼。它不會以其他方式工作。 但是,您可以製作REST API並使用JavaScript進行AJAX調用。

+0

感謝您的回答。我將繼續在Ajax上工作。 – melodrama

0

Rails基於MVC模式,該模型與您的數據和邏輯相關聯,控制器將HTTP請求映射到模型的動作並呈現相應的視圖。 (這是一個非常簡單的解釋,如果你想更詳細的描述谷歌將是你最好的朋友)。

因此,您需要做的是在您的控制器上創建一個操作,該操作將調用模型上的方法並將結果提供給您的視圖。

+0

感謝您的回答。我明白了。 – melodrama

相關問題