私はSinatraには新しく、基本的なCRUD機能を利用するシンプルなTodoアプリを作っています。jQueryを使ってSinatra delete routeを呼び出す
バックエンドで私は作業ルートを持ち、すべてをテストしました。私はいくつかのフロントエンド機能を組み込みたいと思っており、jQueryを使用してそれを支援することに決めました。 jQueryに現在のコードがあり、そのアイテムがクリックされるとtodoアイテムの1つにCSSクラスが追加されます。 「完了した」クラスのタスクを収集し、データベースからタスクを削除するSinatraルートをトリガーする「完了したタスクの削除」というボタンを追加しました。現在シナトラルートがある:
delete "/hub/note/:id" do
n = Note.get params[:id]
n.destroy
redirect '/hub'
end
どのように私はjQueryとシナトラが「完了」のクラスでアイテムを削除して通信するのですか。どんな助けも信じられないほど役に立つでしょう。 method_overrideトリック/ハック、あなたがこれを行うことにより、あなたが欲しいものを得ることができます活かし
ありがとうございます!クラス "completed"を持つ要素をつかんで、上のメソッドをそれに送信できますか? – Julian25
確かに、それはうまくいくでしょう。個人的にはおそらく、これを行う方法は、ノート全体を具現化している各tr(またはli?whatever)にdata-id = "1"または同様のプロパティを追加してから行います。 $( "。completed "/ hub/note /" + id、{_method: "id");var id = $(this).closest( "tr")。データ( "id"); $。 "delete"}、function(){ // whatever }); }); – Max