2012-02-22 4 views
0

私はRailscape#102 Auto-Complete AssociationをRails 3.1アプリで使いこなしていますが、これは3.2にアップグレードしたばかりです。Rails 3.1と3.2のアプリケーションでデータハッシュがコンパイルエラーを返すのはなぜですか?

私はテキストフィールドに

<%= f.text_field :category_name, data: {autocomplete_source: Category.order(:name).map(&:name)} %> 

レールのデータのハッシュを追加しようとするデータのハッシュに問題があることを示す、コンパイルエラーを生成します。

だから私は

<%= f.text_field :category_name, 'data-autocomplete_source' => Category.order(:name).map(&:name)} %> 

これにハッシュを書き直し取り組んでいるが、私はオフに注意する必要があり、これらの2つの方法のいずれかの違いがある場合誰かが私に説明することができます。

第二に、私は値

$(function() { 
    $('#post_category_name').autocomplete({ 
      source: ['foo', 'food', 'four'] 
    }); 
}); 

オートコンプリート作品の静的ハッシュでオートコンプリート機能を設定している場合。しかし、データハッシュを使用する場合:

$(function() { 
    $('#post_category_name').autocomplete({ 
     source: $('#post_category_name').data('autocomplete_source') 
    }); 
}); 

オートコンプリートが動作していませんか?コンソールでそれが返す

GET http://app.dev/post/4/foo%20food%20four?term=foo 404 (Not Found) 

明らかにGET要求に関連する用語があるので、これは私を混乱させます。これは私のデータハッシュの調整によるものなのでしょうか?

あなたのアイデアや提案が私にこのすべての仕組みを学ぶのを助けてくれてありがとう。

+0

を、このアプリは、REEの下で実行されています。これは問題ですか?もしそうなら、私はRVMを使用しているので、切り替えることができます。 –

答えて

1

symbol: value JavaScript-ishハッシュ構文は1.9で新しく、最初の問題点が説明されています。 1.9 Rubyに切り替えるか、従来の構文を使用してください:

<%= f.text_field :category_name, :data => { :autocomplete_source => Category.order(:name).map(&:name) } %> 

これを処理する必要があります。

ので、このしようと、私はデータ属性がdata-autocomplete-sourceいうよりdata-autocomplete_sourceになると思い、生成されたHTMLを確認してください:はい

$('#post_category_name').autocomplete({ 
    source: $('#post_category_name').data('autocomplete-source') 
}); 
+0

こんにちはMu、あなたの提案に感謝します。私が 'data( 'autocomplete-source')を使用すると、オブジェクト#の' Property 'source'がコンソールで関数ではありません。 'data( 'autocomplete_source')では、404エラーを返す有効なGETを取得します。私は、名前がデータハッシュで定義された名前に対応すると仮定しました。これは正しいです?また、データハッシュの背後にもう少し背景を説明できるかどうか本当に感謝します。実際に何をしているのか、そしてこれと '' data-autocomplete-source '=> source-data ..... 'と書くことの違いは何ですか?助けてくれてありがとう。 –

+0

私の間違いは、正しいです、 'autocomplete-source'でなければなりません。これは今うまくいっています、スプリッターで複数の列でこれを動作させることだけが残っていると思います!あなたのすべての協力に感謝します。あなたがデータハッシュに関するより多くの情報に向けて私を指し示すことができれば、非常に高く評価されるだろう。 –

+0

@AndyHarvey:申し訳ありませんが、データハッシュについて知っているのはそれだけです。このようなことは正確には書かれていません(または私はドキュメントを見つけることができません)、私は他のSOの質問で見たことから作業しています。 –

関連する問題