2016-05-28 47 views
2

我有這樣的一段JavaScript代碼在我的視圖文件:如何使JavaScript警告框顯示從Rails的控制變量

<script> 
function hint() { 
    var str = @user.name; 
    var name = str.toLowerCase(); 

    alert(name); 
} 
</script> 

我想警告框來顯示用戶的名字,所以我用在我的控制器中定義的變量@user。但是,當我點擊按鈕來激活警告框時,什麼也沒有顯示出來。我也試過current_user.name,但它也沒有工作。 如何在警告框中顯示變量的值?

回答

3

只要保持這樣,就像在html文件中一樣。

var str = '<%= @user.name %>'; 
+0

謝謝你,它的工作原理! – Marco

1

你也可以這樣做:

alert("<%= @user.name.downcase %>"); 
1

如果你有一個按鈕,然後你不寫任何JavaScript代碼(假設一個確認對話框爲你的作品)。您可以顯示data: {confirm: "#{@user.name.downcase}"}一個確認對話框傳遞到您的按鈕/提交/的link_to助手:

<%= f.submit 'Save', data: { confirm: "#{@user.name.downcase}" } %> 

此外,它給你取消按鈕/鏈接點擊的能力。

沒有JavaScript的另一種選擇是按鈕/鏈接上使用onclick事件:

<%= f.submit 'Save', onclick: "alert('#{@user.name.downcase}');" %> 

或通過用戶名作爲參數傳遞給你的JavaScript函數:

<%= f.submit 'Save', onclick: "your_function('#{@user.name.downcase}');" %>