私はこれに完全に行き詰まっており、何時間もの検索で結果が得られませんでした. ajax リクエストを実行しようとすると、406 エラーが発生します。これが私のコードです..
ティアコントローラー
def index
series = Series.find_by_id(params[:series_id])
respond_to do |format|
format.json { render :json => series.tiers }
end
end
Javascript
$('#series_id').change ->
series_id = $('#series_id').val()
$.get '/admin/tiers', {series_id:series_id}, (result) ->
element = $('select[name *= "tier_id"]')
element.empty()
$.each result, (index, item) ->
element.append $('<option/>', value:item.id, text: item.title)
そして、ここにレールサーバーから取得しているエラーがあります
Started GET "/admin/tiers/1" for 127.0.0.1 at 2013-01-21 14:19:38 +1100
Processing by Admin::TiersController#index as JSON
Parameters: {"series_id"=>"1"}
User Load (0.4ms) SELECT "users".* FROM "users" WHERE "users"."id" = 1 LIMIT 1
(0.1ms) begin transaction
(0.5ms) UPDATE "users" SET "last_request_at" = '2013-01-21 14:19:38.827810', "perishable_token" = 'y0TMicsW2l4zgSiQcJx', "updated_at" = '2013-01-21 14:19:38.829452' WHERE "users"."id" = 1
(2.5ms) commit transaction
Tier Load (0.3ms) SELECT "tiers".* FROM "tiers" WHERE "tiers"."id" IS NULL LIMIT 1
Tier Load (0.3ms) SELECT "tiers".* FROM "tiers"
Series Load (0.2ms) SELECT "series".* FROM "series"
Series Load (0.2ms) SELECT "series".* FROM "series" WHERE "series"."id" = 1 LIMIT 1
Completed 406 Not Acceptable in 30ms (ActiveRecord: 4.4ms)
何が詰まっているのか本当にわかりません。コントローラーは問題なく見え、コンテンツタイプはjsonのようです。
Rails 3.2.11も使用しています