在.js.erb文件中只有一个条件正在运行。
var price = <%= @price %> // assigned for substitution, dont take this a concern
<%- if @price.nil? %>
alert("if");
// JS code if true
<%- else %>
alert("else");
// JS code if false
<%- end %>
检查控制台
在@price
中,有以下任何一种情况。
else
警报不起作用。我在语法上做错了吗?
答案:
以下代码有效。
@price=nil
答案 0 :(得分:1)
因为如果你的价格是零而不是生成代码
var price = nil // assigned for substitution, dont take this a concern
会给你错误nil is not defined
所以不要回显nil
值echo false or 0
注意:不要忘记将semilcolon放入javascript
var price = <%= @price %>;
<强> EDITED 强>
他们是你的两个案例
案例1 :如果@price为零。所以你产生的输出将是这样的
var price = nil // assigned for substitution, dont take this a concern
// above line will give you error nil is not defined
alert("if")
案例2 :如果@price为22.那么您生成的输出将是这样的
var price = 22 // assigned for substitution, dont take this a concern
alert("else")
// will work perfectly fine.