为什么我的咖啡脚本没有检测到元素不存在?

时间:2017-05-18 21:13:30

标签: ruby-on-rails url coffeescript query-string ruby-on-rails-5

我正在使用Rails 5.我跟随咖啡脚本......

  query_data_val = $.query.get('order_by')
  alert(query_data_val)
  if !query_data_val?
    ...
  else
    alert("branch 2")

我注意到即使我的URL的查询字符串中没有“order_by =”,上面的计算结果为brnach 2,即使我希望它评估为“if”语句的第一个子句。在第一个警报对话框中没有打印出任何内容。因此,在咖啡脚本中,检查参数是否缺失或为空是正确的方法吗? (请注意,我还希望“order_by =& otehr_param = abc”来评估第一个分支,因为没有为“order_by”提供任何值。)

1 个答案:

答案 0 :(得分:0)

您似乎认为?的工作方式与Rails中的present?类似。但除非变量为null或未定义,否则返回true。我会想象get返回一个空字符串,这将是真实的。

尝试:

if query_data_val?.length
  alert 'present' + query_data_val
else
  alert 'not present'