select2
Gemfile
1 | gem "select2-rails" |
application.js
1 | //= require select2 |
application.css
1 | *= require select2 |
select2を実行
データベースのデータを取得するようにしてみる.
select2からparams[:q]を投げて、controllerで絞込をして、resultをjavascriptの方で処理する.
1 2 3 4 5 6 7 8 9 10 11 | $('.select').select2 ajax: url: '/binder/source.json' dataType: 'json' delay: 250 data: (params) -> q: params.term processResults: (data, params) -> results: $.map data, (obj)-> id: obj.id text: obj.title |
routes.rb
ここでは、routesで、sourceというactionに飛ぶように設定する
1 | get 'binder/source' => 'binders#source' |
controller
params[:q]で絞りこみ語が飛んで来る.
1 2 3 4 5 | def source q = params[:q] @binders = Binder.where('title like :q', q: "%#{q}%").limit(10) render json: @binders end |
できた
動的に追加、削除したあとも、絞込候補は最新のデータを取得してくれる.