2011-12-28 10 views
1

私の要件は、レールアプリケーションに自動完全機能を実装することです。下のコントローラコードの@testersをjson形式に変換する必要があります。データをレールでjsonフォーマットに変換する

%td.grid.full_panels 
    -table_panel "Assign Testers" do 
     %table 
     %th Name 
     -puts "testers=#{@testers}" 
     = form.label :tester_tokens, "Testers" 
     = form.text_field :tester_tokens,:class => 'autocomplete' 
:javascript 
    data = #{testers.to_json} 

私はデータのために未定義取得しています:私の見解コードで

def new 
    @release = Release.new 
    @ic_ids = params[:ic_ids] ? params[:ic_ids] : [] 
    @testers = User.find_by_sql("select * from users where id in(select user_id from user_role_assignments where role_id in (select id from roles where name like 'Tester')) order by name").paginate(:page=>params[:page],:per_page=>30) 
    respond_to do |format| 
    format.html # new.html.erb 
    format.xml { render :xml => @release } 
    end 
end 

は、私はこれを試してみました。

ここから手伝ってください。

ありがとう、 Ramya。あなたはonlyexceptのオプションが利用可能なすべてのデータを抽出したいいけない場合

def index 
    @objects=Model.where("name LIKE ?", "%params[:q]%") || Model.all 
    respond_to do |format| 
      format.html # index.html.erb 
      format.json { render :json => @objects.map(&:attributes) } 
    end 
end 

:あなたはこのliek respond_toループにformat.jsonを追加することができますJSONソースを作成するには

答えて

3

。最もオートコンプリートなプラグインでこれを使用できるはずです。

データを追加すると、指定したパターンで結果を区切ることができます。

+0

こんにちはデビッド、私に答えるために時間を割いてくれてありがとうたくさん。私の場合、@testersはすでにsql query.soを使って別のテーブルから抽出されていますので、上記の形式で使用する方法を教えてください。また、.jsファイルでこれを使用する方法を助けますか? – ramya

+0

また、 "q"パラメータをどこに渡すべきか教えてください – ramya

+1

他のデータをレンダリングして、jsonでレンダリングされるべきオブジェクトの他の配列を@objectsに追加することもできます。あなたが 'q'isが必要なものをフィルタリングする可能性なしでこれらのものを単純に抽出すれば! – davidb

1

なぜdata =?それは私が見る限り、無効なjavascriptです。

正しいHAML構文は次のようになります。

:javascript 
    #{testers.to_json} 
+0

ハイバークス、ありがとう私に答えるためにたくさん。私のjsスクリプトでこの渡されたjsonを使用する方法を手伝ってください。 – ramya

+0

あなたのコードでは、あなたのHTML内に直接jsonを印刷しようとしました。間違ったHAMLのためにそうしなかった。私の答えは、単にあなたが達成しようとしているものに対する修正です。あなたは他のことを試しているようです。より高いレベルの目標であなたの答えを更新してください:あなたは何を達成しようとしていますか?むしろあなたが持っている特定のエラーに関する詳細な質問。 – berkes

+0

jsonを印刷しようとしていません。変換されたjsonを.jsファイルに渡そうとしています – ramya

関連する問題