0
数日前にレール上でRubyを使用し始めました。私はhtmlタグからajaxを使ってルビ関数にデータを送信しようとしています。ここで422(Unprocessable Entity)レールを使用したPOST
は、私が取得していますエラーです:
POST http://localhost:3000/ajax/ounces 422 (Unprocessable Entity)
私はHTMLボタンのonclick属性を使用してJavaScript関数を呼び出しています:
<button class="btn btn-primary" style="width:24%;" type="button" onclick="ounces_fn()">Fluid Ounces</button>
ここに私のAJAX呼び出しはJavaScriptを使用している:
<script>
function ounces_fn() {
var meas1 = $("#m1").val().replace(/^\D+/g, '');
var meas2 = $("#m2").val().replace(/^\D+/g, '');
var meas3 = $("#m3").val().replace(/^\D+/g, '');
var meas4 = $("#m4").val().replace(/^\D+/g, '');
$.post('/ajax/ounces', {
num1: meas1,
num2: meas2,
num3: meas3,
num4: meas4
}, function(data) {
alert("success!");
$("m1").val(data[0].result.toString() + "oz.");
$("m2").val(data[1].result.toString() + "oz.");
$("m3").val(data[2].result.toString() + "oz.");
$("m4").val(data[3].result.toString() + "oz.");
});
}
</script>
ここは私のコントローラです:
post '/ajax/ounces' => 'welcome#ajax_ounces'
そして、ここに私のRubyの機能である:
def ajax_ounces
numArray = [params["num1"].to_f, params["num2"].to_f, params["num3"].to_f, params["num4"].to_f]
returnArray = Array.new(4);
i = 0
while i < numArray.length do
returnArray[i] = numArray[i]/30
i += 1
end
respond_to do |format|
format.json {render :json => {:result => returnArray}}
end
end
私は多くの異なるサイトをチェックし、私は私が働いていたものに、それのいずれかを関連付けることができませんでした。私はあなたが与えることができる任意のヘルプに感謝します。ありがとうございました。
私はそれが簡単だったとは信じられません。ありがとうございます。あなたは私に多くの時間を救った。今私はちょうど私のルビー関数xDを修正する必要があります –