如何检查参数/字符串是否包含子字符串?

时间:2019-08-23 11:49:32

标签: ruby-on-rails ruby web-frameworks

例如,如果我提交文本。我想检查它是否包含一些字符串。 我正在尝试检查提交的文本是否包含“ @”。 <uses-permission android:name="android.permission.RECORD_AUDIO"/> 在导轨中不起作用。它表示未定义的“包含”方法。

2 个答案:

答案 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? "@"