あるバージョンからautocompleteはplugin側に外れたのですが、rails3時代にはどのplugin(gem)が利用されているんでしょうか?
rails3.1からはjqueryが標準になったので、rails3 - jquery - autocompleteという切り口で探してみました。
すると、そのまんまなgemがありました。
https://github.com/crowdint/rails3-jquery-autocomplete
■インストール
Gemfileに
gem 'rails3-jquery-autocomplete'
でinstall
$ bundle install
次にコード生成して
rails generate autocomplete:install
# generatorのrails3.1対応はまだみたいなのでautocomplete-rails.jsは、public/assets/javascripts
# に手動コピーしましょう。
application.jsでjquery-uiを読み込む用にしましょう。
//= require jquery-ui
後defaultではcssがしょんぼりなので、public/assets/stylesheetsに
https://raw.github.com/crowdint/rails3-jquery-autocomplete-app/master/public/stylesheets/jquery-ui-1.8.2.custom.css
をおきましょう。
■利用方法
controllerに
class ProductsController < Admin::BaseController
# モデル名、フィールド名
autocomplete :brand, :name
end
routes.rbに
resources :products do
get :autocomplete_brand_name, :on => :collection
end
最後にviewに
<%= form_for @product do |f| %>
<%= f.autocomplete_field :brand_name, autocomplete_brand_name_products_path %>
<% end %>
ね、(そこそこ)簡単でしょう!
■いくつか残念な点
調べてみて感じた残念な点
2011/09/18 上記4に対応してみました。https://github.com/kennyj/rails3-jquery-autocomplete
gem 'rails3-jquery-autocomplete', :git => git://github.com/kennyj/rails3-jquery-autocomplete.git
で使えると思います。
2011/09/18 上記1にも対応してみました(rails3.1 branch) 上記に, :branch => 'rails3.1' を追加すると利用できるはずです。
2011/09/19 上記2はspec_helper.rbで、require 'steak/autocomplete' して、config.include Steak::Autocomplete, :type => :request すればrspec-requestsでも動きました。
■いくつか残念な点
調べてみて感じた残念な点
- rails3.1対応はまだ
- rspec-request用のサポートが欲しい
- label/valueに適応されるmethodが同じ
- term以外の動的要素に対応できない
2011/09/18 上記4に対応してみました。https://github.com/kennyj/rails3-jquery-autocomplete
gem 'rails3-jquery-autocomplete', :git => git://github.com/kennyj/rails3-jquery-autocomplete.git
で使えると思います。
2011/09/18 上記1にも対応してみました(rails3.1 branch) 上記に, :branch => 'rails3.1' を追加すると利用できるはずです。
2011/09/19 上記2はspec_helper.rbで、require 'steak/autocomplete' して、config.include Steak::Autocomplete, :type => :request すればrspec-requestsでも動きました。
0 件のコメント:
コメントを投稿