不区分大小写且包容性的ActiveRecord查询?

时间:2014-01-02 00:24:46

标签: ruby-on-rails ruby activerecord

我的观点打印出一个指南表,其标题中有“耕作”一词。

  def farming
   t = Guide.arel_table
    @guides = Guide.where(t[:title].matches('%farming'))
  end

问题是我想要显示所有指南至少其中包含“耕种”一词的任何拼写形式。所以“农场傻瓜”也应该出现在搜索中。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

为了匹配Farming for Dummies,您需要使用farming%,即%应位于farming之后。

请尝试以下操作,以title的任何位置返回farming包含title字样的所有记录:

def farming
  t = Guide.arel_table
  @guides = Guide.where(t[:title].matches('%farming%'))
end