在.js.erb文件中只有一个条件正在运行

时间:2014-05-16 06:20:07

标签: javascript jquery ruby-on-rails ajax ruby-on-rails-4

在.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中,有以下任何一种情况。

  1. 0.00333333
  2. {p}内的{p>警报仅起作用。如果我else警报不起作用。我在语法上做错了吗?

    答案:

    以下代码有效。

    @price=nil

1 个答案:

答案 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.