我有一個Ruby對象,我想在JavaScript中使用該對象。我還沒有看到這種類型的東西,但我想要一個Ruby對象在我的.js文件中。我的JavaScript文件中的Ruby對象
這可能嗎? 在此先感謝
我有一個Ruby對象,我想在JavaScript中使用該對象。我還沒有看到這種類型的東西,但我想要一個Ruby對象在我的.js文件中。我的JavaScript文件中的Ruby對象
這可能嗎? 在此先感謝
不,您不能在JavaScript中使用您的Ruby對象。但是,您可以使用AJAX從服務器端請求使用JSON或XML編碼的任何數據(甚至純文本或您自己的數據格式)。
您只能傳遞字符串,json或xml。雖然,你可以做到沒有Ajax。
# dynamic_data.js.erb
var js_data = <%= Time.now.to_s -%>
# show.html.erb
render :partial => 'dynamic_data'
或
- content_for :head do
= javascript_tag "var js_data = #{ Time.now.to_s };"
因爲Ruby代碼在服務器上執行和JavaScript客戶端Web瀏覽器內執行,不能使用在JavaScript Ruby對象。但是,您可以執行Ruby代碼,然後使用JavaScript中的結果作爲Mark illustrates in his answer to your question。