0

我使用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」提供值)。

回答

0

看來你認爲?在Rails中的工作方式就像present?。但它會返回true,除非變量爲null或未定義。我會想象get返回一個空字符串,這將truthy。

嘗試:

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

我想你指的是「query_data_val。長度!?」,使條款的功能就像我intende,但我明白你的意思。 – Dave