2016-05-28 32 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}');" %>