. js.Erb文件只有一个条件是有效的

In .js.erb file only one condition is working

本文关键字:有效 条件 有一个 Erb 文件 js      更新时间:2023-09-26

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中具有下列任意项。

  1. nil
  2. 0.00333333
else内部的

警报只工作。如果我有@price=nil警报不工作。我在语法上做错了什么吗?

答:

下面的代码可以工作。

if (price == "") {
 alert("if"); 
}
else {
  alert("else");
}

因为如果您的价格为nil,则生成以下代码

var price = nil // assigned for substitution, dont take this a concern

显示错误nil is not defined

所以不回显nil的值,而回显false or 0

注意:不要忘记在javascript

中加上分号
var price = <%= @price %>;

他们有两个案子给你

Case 1:如果@price为nil。那么生成的输出将是这样的

    var price = nil // assigned for substitution, dont take this a concern
    // above line will give you error nil is not defined
    alert("if")

Case 2: If @price = 22。那么生成的输出将是这样的

    var price = 22 // assigned for substitution, dont take this a concern
    alert("else")
    // will work perfectly fine.