【发布时间】:2013-09-26 02:45:58
【问题描述】:
为什么我在 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
【问题讨论】:
-
你确定
results是一个数组吗? -
@ExplosionPills 是的,$.isArray 将其返回为 true。
标签: javascript jquery ruby json sinatra