Railsのオートコンプリートについて

2009年8月12日水曜日に書いたブログ

rubyRailsが大好きな権です。今日からブログを始めました。

昨日から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
javascript:;
期待した結果は
「 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を使うと効かなかったです。
原因は分析中・・・・・・・