1

我有一个模型,说:

class MyModel <ActiveRecord::Base
  attr_accessible :id, :name
end

我想使用 meta_search ( https://github.com/ernie/meta_search ) 搜索这个模型,如何按 id 或 name 搜索?

我试过这个但不起作用:

MyModel.search(id_equals_or_name_contains: 'sample text')

元搜索文档说他们不支持不同的匹配类型(https://github.com/ernie/meta_search#ored-conditions),那么我应该如何实现呢?

4

1 回答 1

0

您希望示例文本是整数还是字符串?如果是这样,您可以使用此处描述的函数实现一个简单的条件:使用 Ruby 测试字符串是否基本上是引号中的整数?

s = 'sample text'
if !!(s =~ /^[-+]?[0-9]+$/)
  MyModel.search(id_equals: s.to_i)
else
  MyModel.search(name_contains: s)
end
于 2013-09-05T15:02:32.013 回答