JavaScript の配列インデックスが文字列として Ruby に送信されるのはなぜですか? スコア[0] の代わりに、スコア["0"] として最初の要素にアクセスします。インスタンス変数にも、score.candidate_id としてではなく、score["candidate_id"] としてアクセスします。どうすればこれを機能させることができますか?
コード: 私の JQuery は、この関数を介して AJAX 経由でスコアを送信します。
$.post("submit.com", {scores: results}, function(data) {console.log(data)}, "json")
results
で構成される配列はどこですか
{judge_id: x, category_id: y, candidate_id: z, score: s}
Ruby バックエンド (Sinatra で動作しない)
post '/submit' do
woot = JSON.parse(params[:scores])
woot.each do |new_score|
Score.new({
score: new_score["score"],
pageant_id: Pageant.active.id,
candidate_id: new_score["candidate_id"],
judge_id: new_score["judge_id"],
category_id: new_score["category_id"]
}).save
end
params[:scores]["1"].inspect.to_json
end