Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Mongoid,查找名称包含字符串的模型_Ruby On Rails_Ruby_Mongodb_Mongoid - Fatal编程技术网

Ruby on rails Mongoid,查找名称包含字符串的模型

Ruby on rails Mongoid,查找名称包含字符串的模型,ruby-on-rails,ruby,mongodb,mongoid,Ruby On Rails,Ruby,Mongodb,Mongoid,我的Mongoid模型采用以下方法: def self.search_by_name(sub_string) self.where(name: "/#{sub_string}/") end 我的模型有名称字段,该字段是字符串,子字符串取自我的搜索栏。路由正常,搜索栏接受子字符串,但当我运行此代码时: @partners = Partner.search_by_name(params[:sub_string]) 它什么也得不到@partners为空,即使有型号的名称中实际有子字符串,我的

我的Mongoid模型采用以下方法:

def self.search_by_name(sub_string)
   self.where(name: "/#{sub_string}/")
end
我的模型有
名称
字段,该字段是字符串,
子字符串
取自我的搜索栏。路由正常,搜索栏接受
子字符串
,但当我运行此代码时:

@partners = Partner.search_by_name(params[:sub_string])

它什么也得不到
@partners
为空,即使有型号的名称中实际有
子字符串
,我的表格也不显示任何内容。我做错了什么?

我只需要删除
语句中的引号,它就起作用了


感谢Pawel和Yevgeniy

也许您应该尝试对
where
进行以下修改:
self.where(name:“/{sub#u string}/i”)
,它将尝试使用不区分大小写的模式按名称查找。你也是这样吗?还是什么都没找到。我已经尝试了
/.*{sub_string}.*/
。也不工作,没有发现任何东西将其更改为:
self.where(name:/#{sub_string}/i)
-我忽略了您以前使用引号,只是盲目复制了代码…是的,只需删除引号,否则mongoid将搜索字符串,而不是regexp