Pazによる優れた回答により、今週はオートコンプリートのjQueryUIディールの大まかなパッチが適用されました。
つまり、json応答に2つの異なる「ベース」オブジェクトがある場合、どのようにして正しいjson応答を選択するのでしょうか。
簡単に言えば、PitchとUserの2つのモデルで構成されるrubyインスタンス変数があります。このインスタンス変数に基づいてオートコンプリートしたいと思います。jsonの応答は、次のようになります
[{"user":{"id":1,"name":"Blah Hugo"}},
{"user":{"id":3,"name":"Blaz Foobar"}},
{"pitch":{"id":2,"name":"Blasters On Business Apparel"}}]
オートコンプリートJavaScriptファイルは現在次のようになっており、<スニペットのみ>で機能します。
.data( "autocomplete" )._renderItem = function( ul, item ) {
return jQuery( "<li></li>" )
.data( "item.autocomplete", item )
.append( "<a>" + (item.user ? item.user.name : item.pitch.name) + "</a>" )
.appendTo( ul );
};
繰り返しますが、私の問題は、私が使用しなければならなかったこの三元です。 どちらの名前もわからない場合、一般的な「user」または「pitch」を取得する方法はありませんかitem[0].name
?item.item[0].name
そのうちの1つはそうするでしょう。何て言うの?