kaminari + mongoid でwhereを使う方法
2013-11-20 2017-09-13
個人的に結構詰まったところ。
mongoidは日本語の記事が少ないので、もっと多くの人が書いてくれるとうれしい。
最近ruby使ってませんが。
kaminari + mongoid where実装のソース
ruby
| 
					 1 2  | 
						@queries = Query.page(params[:page]) @queries = @queries.where(name: => /.*#{name}.*/) unless name.blank?  | 
					
これでページング処理とフィルタリングの共存ができる。
「@queries.where(name: => /.*#{name}.*/)」の部分はmongoidでlikeっぽい検索をする時の書き方。これも結構詰まった。
viewにはいつも通りのkaminariスタイル。
html + ruby
| 
					 1 2 3 4 5 6 7 8 9 10 11  | 
						<table>   <thead>     <th>Name</th>   </thead>   <tbody>   <% @queries.each do |q| %>     <tr><td><%= q.name %></td></tr>   <% end %>   </tbody> </table> <%= paginate @queries %>  | 
					
