2012-03-25 71 views
12

我試圖用正則表達式作爲條件在Ruby(1.9.2)if語句,但它使即使在正則表達式的計算結果爲無在Ruby中使用正則表達式,如果條件

if (params[:test] =~ /foo/) 
    return "match" 
else 
    return "no match" 
end 

以上返回true返回「匹配」,即使Rails.logger.info(params[:test])顯示測試的設置爲"bar"

+1

我不能再現這個(它不應該發生)。可能你認爲'params [:test] ==「bar」'是錯誤的。 – 2012-03-25 16:07:12

+0

我剛剛在irb命令行中檢查它,我無法再現您的情況。 '「bar」=〜/ foo /'返回零。你的問題是其他地方... – 2012-03-25 16:10:42

+0

我有Rails.logger.info(params [:測試])上面的if語句行,它輸出「酒吧」 – Exupery 2012-03-25 16:13:05

回答

33
if params[:test] =~ /foo/ 
    # Successful match 
else 
    # Match attempt failed 
end 

爲我工作。調試什麼在params[:test]