jQuery Ajax Put を介してリソース コントローラーを介してモデルを更新しています。初めてでも全く問題ありません。これはうまくいきます:
$(".addNest").click(function() {
var nid = msg; //once the LI is added, we grab the return value which is the nest ID
var name = $('.nestIn').val();
if(name == '') {
$("textarea").css("border", "1px solid red");
}else {
$.ajax({
type: 'PUT', // we update the default value
url: 'nests/' + nid,
data: {
'name': name
},
success: function(msg) {
alert(msg)
window.location.replace('nests/' + nid ); //redirect to the show view
}
});
}
});
後で別のコード ブロックで、次のように PUT を再度呼び出してみます。
$(".nestEdit").click(function() {
$(".nestEdit").hide();
var name = $('.nestName').data("name");
var nid = $('.nestName').data("id");
$(".nestName").html("<textarea class='updateNest'>"+ name +"</textarea> <span><a href='#' class='btn btn-mini nestUpdate'><i class='icon-plus'></i> Update</a></span>");
$(".nestUpdate").click(function() {
var updatedName = $('.updateNest').val();
$.ajax({
type: 'PUT', // we update the default value
url: 'nests/' + nid,
data: {
'name': updatedName
},
success: function(msg) {
alert(msg) // showing the error here
location.reload( ); //refresh the show view
}
});
});
「updatedName」の値と「nid」の値は、「警告」すると問題なく通過します。最初の PUT のリターンを表示すると、問題なく返されます。ただし、2 番目の PUT のリターンを表示すると、次のようになります。
{"error":{"type":"Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException","message":"","file":"\/Applications\/MAMP\/htdocs\/n4\/bootstrap\/compiled.php","line":8643}}
誰でもここでいくつかの洞察を持っていますか? お分かりのように、私はインライン編集をしようとしています。すべてを関数にラップしようとしましたが、まだ役に立ちません...