これは、ajax オートコンプリート呼び出しに返されたマップ json を解析する正しい方法ですか? jQuery は json の応答を理解し、オートコンプリート項目をリストするためにスクリプトで追加の作業を必要としないことを期待していました。
json -
[{"issue":"Item returned"}]
JS -
$("#term").autocomplete({
source: function(request, response){
$.ajax({
url: '/issue/issue_type',
type: 'POST',
dataType: 'json',
data: { issue_code : $("#term").val() },
headers: { 'X-CSRF-Token': '<%= form_authenticity_token.to_s %>' },
success: function(data) { response($.map(data.issue, function(issue){
return {
value: data.issue
}
} )); }
});
},
minLength: 2,
select: function(event, ui){
//
}
});
});
試してみsuccess: function(data) { response(data); }
ました。どちらも機能しませんでした。
コントローラ -
def issue_type
@c = Codes.select("issue").where("codes.issue LIKE :i",{:i => "#{params[:posted_code]}%"})
puts @c.to_json
respond_to do |format|
format.json { render :json=> @c.to_json }
format.js
end
return @c.to_json
end