2011-09-14 12 views
0

私はformtasticフォームにオートコンプリート機能を追加する方法を見ており、crowdint/rails3-jquery-autocompleteを見つけましたが、最新のバージョン(0.9.1)を入手することができませんformtastic(これは既知の問題です)で動作し、以前のバージョンではid-elementヘルパーが機能しないため、フォームを送信するときに隠しフィールドにオプション値を設定することはできません。もう一つの宝石、elandesignによるformtastic_autocompleteは時代遅れです。だから私はformtastic形式で(jquery-ui?)オートコンプリートフィールドを取得するために使用できる代替メソッドがあるかどうか疑問に思っています。私のモデルは、製品がブランドに属し、ブランドが多くの製品を持っているようなものです(brand_id列ib製品テーブルがあります)ので、現時点ではアソシエーションのオプションを自動的に作成する手段があります。
ありがとう、 AlexFormtasticのオートコンプリート

答えて

0

スマートにしようとする宝石を使用せず、すべてのことを行う宝石を使用しない場合、formtasticを使用しているという事実は無関係です。 formasticによって生成されたHTMLは、通常のフォームヘルパーを使用して生成されたHTMLと異なりません。

jquery UIオートコンプリートプラグインを簡単に使用できます。

+0

私は、マークアップフックをハックして追加することなく、カスタム入力タイプを作成することを意味しました。明確ではないことを申し訳ありません。とにかく返信ありがとう:) – Tds

0

Formasticの問題をrails3-jquery-autocompleteに修正しました。バージョン1.0.2を使用

id-elementが機能していないと言ったら、Formtasticと組み合わせて使うのですか?

通常の入力で使用するとうまくいくようです。

+0

ありがとう、それは今動作します。私はそれが(0.9.0)では動作しませんでしたが、(1.0.2)で動作することを意味しました。 – Tds

0

私は、この問題に対する控えめで純粋なjQueryソリューションを作成しました(belongs_to関連のオートコンプリート)。 Formtasticに関して特別なことをする必要はありません。外部キーの通常の入力フィールドを生成し、オートコンプリートURLを指定する属性と参照モデルの現在の表示値(ケース内の既存の製品のブランド名)を指定する別の属性を追加します。 (ERBはほとんど同じである)HAMLテンプレートの表記を使用する:

= semantic_form_for @product do |f| 
    = f.inputs do 
    -# Other input fields ... 
    = f.input :brand_id, 
     :input_html => {:'data-autocomplete-url' => auto_complete_brands_path, 
         :'data-autocomplete-value' => @product.brand.try(:name)} 
:javascript 
    $(function() { 
    $('#product_brand_id').autocompleteAssociation(); 
    }); 

これは私がこのようなモデルの関連付けケースのために特別に書いたjQueryのオートコンプリートウィジェットを使用しています。 https://gist.github.com/3842296

関連する問題