私の要件は、レールアプリケーションに自動完全機能を実装することです。下のコントローラコードの@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。あなたはonly
とexcept
のオプションが利用可能なすべてのデータを抽出したいいけない場合
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ソースを作成するには
こんにちはデビッド、私に答えるために時間を割いてくれてありがとうたくさん。私の場合、@testersはすでにsql query.soを使って別のテーブルから抽出されていますので、上記の形式で使用する方法を教えてください。また、.jsファイルでこれを使用する方法を助けますか? – ramya
また、 "q"パラメータをどこに渡すべきか教えてください – ramya
他のデータをレンダリングして、jsonでレンダリングされるべきオブジェクトの他の配列を@objectsに追加することもできます。あなたが 'q'isが必要なものをフィルタリングする可能性なしでこれらのものを単純に抽出すれば! – davidb