2016-08-08 34 views
0

我發送一個var在rails中使用它在視圖中,我有一個js文件名稱charts.js.erb被稱爲和我需要使用var在js文件,但無in rails我發送一個var來查看,但在js文件中是零

在我的控制器一

在我看來,法

def index 
    @asd = 'hellow' 
    end 

我可以做

.div= @asd 

但在我的JavaScript文件

alert('<%= @asd %>'); 

@asd VAR是零,我已經使用其他Ruby代碼的測試工作,但瓦爾不起作用

+0

是在同一視圖作爲你的div警報?如果是的話,它應該工作。如果它在assets/javascripts中的某處,那麼不,它不應該工作。 –

+0

嘗試使用respond_to塊。 –

+0

沒有@SergioTulentsev,我有附帶的那個js文件charts.js,並且該警報不顯示提示。我測試廣告變種,並沒有 – jacr1614

回答

2

這不是再培訓局如何處理JavaScript的。 JS文件是在運行時生成的,因此它們無法訪問像這樣的動態服務器值。

我通常遵循的模式是將服務器生成的值放置在DOM中的某個位置以供JS拾取。

<div id="asd" data-asd="<%= @asd %>"> 

然後,如果你正在使用jQuery,例如:

var asd = $('#asd').data('asd'); 
相關問題