我有一个模特,说:
class MyModel <ActiveRecord::Base
attr_accessible :id, :name
end
我想使用meta_search(https://github.com/ernie/meta_search)搜索此模型, 如何按ID或名称搜索?
我尝试了这个但不起作用:
MyModel.search(id_equals_or_name_contains: 'sample text')
元搜索文档说它们不支持不同的匹配类型(https://github.com/ernie/meta_search#ored-conditions),那么我应该如何实现呢?
答案 0 :(得分:0)
您希望示例文本是整数还是字符串?如果是这样,您可以使用此处描述的函数实现一个简单的条件:Test if a string is basically an integer in quotes using Ruby?
s = 'sample text'
if !!(s =~ /^[-+]?[0-9]+$/)
MyModel.search(id_equals: s.to_i)
else
MyModel.search(name_contains: s)
end