&tag(Ransack); *目次 [#mbfa3f82] #contents *参考情報 [#ufc216e0] -[[ernie/ransack · GitHub:https://github.com/ernie/ransack]] // 公式サイト -[[#370 Ransack - RailsCasts:http://railscasts.com/episodes/370-ransack?language=ja&view=asciicast]] -[[Ruby - Ransackのススメ - Qiita [キータ]:http://qiita.com/nysalor/items/9a95d91f2b97a08b96b0]] *概要 [#t14acaff] -Railsで検索画面を作るための(?)gem。 -Kaminariと組み合わせ、カラムクリックでソートすることもできる。 *簡単な使い方 [#z3adda50] **インストール [#a39b267a] -Gemfileにransackを追加。 gem "ransack" **コントローラ [#n4975c64] -コントローラーのaction。例えばindexで検索する場合次のようになる。 #pre{{ def index @search = Item.search(params[:q]) @items = @search.result end }} **ビュー [#x2d55501] -検索条件を指定するフォームの作成 #pre{{ <%= search_form_for @search do |f| %> <%= f.text_field :title_cont %> <%= f.submit '検索' %> <% end %> <% @items.each do |item| %> (省略) <% end %> }} *複雑な使い方 [#sc45293f] **ransack_demo [#f2c86b7b] [[ernie/ransack_demo:https://github.com/ernie/ransack_demo]]と、それを解説した[[#370 Ransack - RailsCasts:http://railscasts.com/episodes/370-ransack?language=ja&view=asciicast]]が参考になる。 ***セットアップ [#b9902986] -git clone git clone https://github.com/ernie/ransack_demo -bundle install bundle install --path vendor/bundle -データベース作成(postgresqlが必要。[[MacPorts/postgresql]]。ransack_demoユーザーを作成しておく) bundle exec rake db:create:all -テーブル作成 bundle exec rake db:migrate -テストデータ投入 bundle exec rake db:fixtures:load -サーバー実行 bundle exec rails s -ブラウザから http://localhost:3000 にアクセス