Railsのオートコンプリートについて
2009年8月12日水曜日に書いたブログ
rubyとRailsが大好きな権です。今日からブログを始めました。
昨日からRailsのオートコンプリートを試してみました。
実はRailsのオートコンプリートではなく、Ajaxのオートコンプリートで、
Railsの側で使いやすく、カバーしていることが分かりました。
Railsのバージョン:2.1.1
最初は
auto_completeのプラグインのインストールです。
以下のようにコマンドラインでインストール
$ ruby script/plugin install auto_complete
次は
Ajaxが使える環境を構築する。
<%=javascript_include_tag :defaults %>
(ビューの一番上に追加するか、レイアウトのところに入れるか、どってでもいいです。)
試したソースコードです。
ビュー側:
<div id="name_auto_complete"></div>
コントロール側:
class CompleteController < ApplicationController
def autocomplete
render :text => "<ul><li>cui</li><li>chang</li></ul>"
end
end
期待した結果は
「 c 」を入力すると
・cui
・chang
が出てくると思ったのに
これでうまくいけると思ったのに、
結果は入力補完機能が出てきませんでした。
しかし、
この入力補完機能は今後も、結構使えると思って、
必ず解決しようと決意した。
試した別のソースコート:
今回は、上のソースコードとは違って、入力補語をDBから持ってくるようにしました。
テーブル名前: users
カラム:name
nameを入力補語にしてみた。
ビュー側:
<%= text_field_with_auto_complete :user , :login %>
コントロール側:
auto_complete_for :user , :name
試した結果:
お〜、出てきました、入力補語が
結果としては
text_field_with_auto_completeは効くのですが、
単独で、auto_complete_fieldを使うと効かなかったです。
原因は分析中・・・・・・・