DOMアイテムを右クリックすると、jQuery-contextMenuツールで実装されたコンテキストメニューが表示されるRailsアプリケーションがあります。ユーザーがそのメニュー内の項目をクリックすると、Railsアクションが実行されます。これまではすべてこれが実際に動作します。次に、データの変更された状態でページをリフレッシュする必要があります。 Railsのデバッグコンソールは、ページが正しく表示されているが、ブラウザに違いはないと主張しています。私は間違って何をしていますか?jQueryはRailsコマンドを実行しますが、結果は表示しません
これはHTMLページ内のコンテキストメニューを表すスクリプトです。 deletenodeオプションをクリックすると、$。post要求が発行されます。これによりレールルートに
<script>
$(function(){
$('#treemenu').contextMenu({
selector: 'span',
callback: function(key, options)
{
var nodeID = parseInt($(this).attr("id").substring(13), 10);
if(key == "deletenode")
{
$.post("/ontology/" + nodeID + "/delnode", { _method: 'post' });
}
else if(key == "deletearc")
{
}
else
{
}
// window.console && console.log(m) || alert(m);
},
items:
{
"deletenode": {name: "<%= t('ontologies.delete.delete_node') %>"},
"deletearc": {name: "<%= t('ontologies.delete.delete_arc') %>"},
}
});
});
</script>
、これはこれにつながることコントローラ
def delnode
logger.debug 'Entered delnode ' + params[:id]
redirect_to ontologies_url, alert: 'testing delnode.'
end
でアクションをレールと、これは、デバッガコンソールに出力されます。それが200を完了したと言うように、それは実際にokであるべきです。しかし、インデックスアクションへのリダイレクトは実際には起こっていません。
Started POST "/ontology/1/delnode" for ::1 at 2017-01-08 19:04:52 -0800
Processing by OntologiesController#delnode as */*
Parameters: {"id"=>"1"}
User Load (1.0ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 ORDER BY "users"."id" ASC LIMIT 1 [["id", 1]]
Entered delnode 1
Completed 200 OK in 5ms (Views: 0.5ms | ActiveRecord: 1.0ms)
他の投稿にはさまざまなことが示唆されていますが、ページは表示されません。ご協力ありがとうございました。
は、mrlew、ありがとうございました。それは問題を非常にうまく解決しました。 –