2012-03-25 8 views
12

मैं एक रूबी (1.9.2) यदि बयान में सशर्त रूप में regex का उपयोग करने के लिए कोशिश कर रहा हूँ लेकिन यह सच लौटने तब भी जब regex शून्यरूबी में regex का उपयोग करता है, तो हालत

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

ऊपर का आकलन करती रहती है रिटर्न "मैच" मेरे लिए करने के लिए "bar"

+1

में मैं इस पुन: पेश नहीं कर सकते (और यह नहीं होना चाहिए)। शायद आपकी धारणा है कि 'पैराम्स [: test] == ​​"bar" 'दोषपूर्ण है। –

+0

मैंने इसे केवल irb कमांड लाइन में देखा है और मैं आपकी स्थिति को पुन: उत्पन्न नहीं कर सकता। '" बार "= ~/foo /' रिटर्न शून्य। आपकी समस्या कहीं और है ... –

+0

मैं Rails.logger.info (पैरामीटर [: परीक्षण]) है ऊपर लाइन अगर बयान और यह आउटपुट "बार" – Exupery

उत्तर

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

वर्क्स सेट के रूप में भी जब Rails.logger.info(params[:test]) परीक्षण दर्शाता है। डीबग क्या है params[:test]

संबंधित मुद्दे