2011-02-02 11 views
0

でのparamsを使用して、この質問に私は良い答えを得た:Scoping the results for rails3 jquery autocomplete plugin私はプラグインのget_itemsメソッドを上書きしていますので、これは動作しますは最近、私は<a href="https://github.com/crowdint/rails3-jquery-autocomplete" rel="nofollow noreferrer">https://github.com/crowdint/rails3-jquery-autocomplete</a></p> <p>を使用し始めたそれは素晴らしい作品が、私は、私はautocompleteingた結果の有効範囲を設定しようとしていた方法を変更し、Rails3

class PostsController < ApplicationController 
    autocomplete :post, :title 

    def get_items(parameters) 
     Post.where(:user_id => current_user.id) 
    end 

:私は成功したようなスコープましたクラウディオのコードを使用して

。あなたはここに見ることができます:https://github.com/crowdint/rails3-jquery-autocomplete/commit/b3c18ac92ced2932ac6e9d17237343b512d2144d#L1R84(私はこのコミットの前にバージョンがあるので、get_itemsはまだ私のために働く)。

私の範囲の問題は、オートコンプリート機能が動作しなくなったことです。人が入力を開始すると、そのリストから提案されている項目ではなく、get_itemsで指定されたリストがポップアップします。

私は私の上書き方法に何か間違っていると思っています。何か案は?

ベスト、 エリオット

答えて

3

あなたはちょうど私がget_itemsをオーバーライドすると、それがあるべきほど柔軟ではないことを実感しました。

あなたのコードは、パラメータの使用が含まれていません[:用語]

はこのような何かはそれを動作させる必要があります。

def get_items(parameters) 
    Post.where(:user_id => current_user.id).where(['title LIKE ?', "#{parameters[:term]}%"] 
end 

これは完全に非友好的である、私は試してみて、可能なものでうまくいきますmore sense

または、オートコンプリート宣言のスコープオプションが意味がありますか?

+0

ありがとうございます!私は家に帰るとすぐにこれを試してみよう! – Elliot

+0

は完璧に機能しました! – Elliot

0

ただし、複数のフィールドのオートコンプリートをお持ちの場合はどうなりますか?たとえば、タイトルと著者の両方に適用したいとします。あなたは次のように書き直して両方に役立つだろうか?

オートコンプリート:注:タイトル:フル=>真 オートコンプリート:注:著者、:フル=>真

デフget_items(パラメータ) Note.select( "個別のタイトル")ここで。 end

現在のところ、タイトルフィールドでのみ動作します。[[タイトルLIKE?]、[#{parameters [:term]}%著者フィールドのオートコンプリートを強制終了します。

関連する問題

 関連する問題