例如,如果我提交文本。我想检查它是否包含一些字符串。
我正在尝试检查提交的文本是否包含“ @”。 <uses-permission android:name="android.permission.RECORD_AUDIO"/>
在导轨中不起作用。它表示未定义的“包含”方法。
答案 0 :(得分:2)
如果params[:field]
为nil,则不能在其上调用include?
,因为它不是NilClass类中定义的方法。
如果要检查提交的文本是否包含“ @” ,则可以使用=~
:
p { field: 'foo@bar' }[:field] =~ /@/ # 3
p nil =~ /@/ # nil
答案 1 :(得分:1)
在这种特定情况下,params[:field]
是nil
,并且#include?
方法不适用于nil
对象。这就是为什么您会遇到错误。
将其转换为字符串将使该对象可用于#include?
方法调用,并消除了该对象成为nil
的可能性:
params[:field].to_s.include? "@"