模糊地使用Ransack

时间:2015-05-26 10:59:36

标签: ruby-on-rails

在这个问题上,我一直在绞尽脑汁 所以我有趣搜索搜索

@search=Sheet.ransack(params[:q])

最近,我发现这个名为模糊的宝石。这会将find_by_fuzzy_title方法添加到工作表中。 我找不到与hansack的集成,所以我几乎是靠自己 我确实尝试了一些集成...特别是通过从模糊搜索中提取ID并将它们传递给ransack,反之亦然..但这些似乎在订购时存在问题

任何支持模糊搜索的搜身宝石都会受到赞赏

1 个答案:

答案 0 :(得分:0)

我没有尝试过,但我想你可以将find_by_fuzzy方法添加到模型上的可搜索范围,而ransack会将参数传递给模糊搜索范围。您可能只能传递一个参数,因此您的范围可能必须有默认值

 class MyModel < ActiveRecord::Base
   fuzzily_searchable :name
   def self.ransackable_scopes(*args)
     %w(find_by_fuzzy_name)
   end
 end

然后你会这样搜索:

MyModel.ransack(find_by_fuzzy_name: "mysearchterm").result