Ruby on rails Mongoid,查找名称包含字符串的模型
我的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为空,即使有型号的名称中实际有子字符串,我的
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