介绍一个rails 有关的gem: rails-simple-search

rails-simple-search

rails-simple-search 是一个Ruby gem. 它可以帮助你为你的网站快速实现搜索/过滤功能。在输出结果中它还可以帮助分页. 如果你不需要一个全文搜索的功能, 这个gem很可能就是你需要的。

以前,我时常需要实现一个页面来显示从一个数据库表里面根据条件搜索出来的纪录。在我实现这个gem之前,我通常是这样实现的:

    1. 在view里面使用 <%= form_tag %> 来构造一个form。用<%= text_field_tag %> 或其他的html input来输入搜索条件

    2. 在controller里面,把搜索条件从 params 里面拿出来,放到instance variable里面。这些instance variables在view里面可以用到。

    3. 构造 SQL 的 WHERE 子句。根据搜索条件的不同,有时还需要用到 JOIN。

    4. 用上面构造的 WHERE 和 JOIN 子句,运行 find(:all, :conditions => [xxxxxx], :joins => “yyyyyy”)


在使用上面的pattern多次以后,我意识到我可以把这个pattern做到一个library里面。以上就是 rails-simple-search的由来。

现在,实现这样功能的一个页面就非常简单了。你可以从下面的例子里看出这是多么的简单。。。


更多内容在这里: https://github.com/yzhanginwa/rails-simple-search

你可能感兴趣的:(search,Rails)