我在我的视图文件中有这段Javascript代码:
<script>
function hint() {
var str = @user.name;
var name = str.toLowerCase();
alert(name);
}
</script>
我希望警告框显示用户名,因此我使用在我的控制器中定义的变量@user。但是,当我单击按钮激活警报框时,没有任何显示。我也尝试过current_user.name,但它也没有用。 如何在警告框中显示变量的值?
答案 0 :(得分:3)
保持这样,就像在html文件中一样。
var str = '<%= @user.name %>';
答案 1 :(得分:1)
你也可以这样做:
alert("<%= @user.name.downcase %>");
答案 2 :(得分:1)
如果您有一个按钮,那么您不必编写任何JavaScript代码(假设确认对话框适合您)。您可以显示一个确认对话框,其中data: {confirm: "#{@user.name.downcase}"}
已传递给您的按钮/ submit / 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}');" %>