5

修正に苦労しているという非常に奇妙な問題に遭遇しました。私の見解では、ととのリンクがdata-remote="true"ありdata-method="delete"ます。リンクをクリックするDELETEと、Railsサーバーへのリクエストが表示されます。返されたJSコードは、このリンクのプロパティを変更します。その中にはとが含まれhrefますdata-method

このリンクをもう一度クリックすると、サーバーは新しいへのリクエストを受信して​​いますがhref、古いものでは、に変更したdata-methodにもかかわらず(リクエストを送信します)。DELETEPOSTDELETE

ただし、ページを更新すると、HTMLは「新しい」HTML(返されたJSで変更されたもの)と同じですが、実際には正しいリクエストタイプが送信されます。これが問題が私を困惑させている理由です。

4

1 に答える 1

10

解決策が見つかりました:「data-method」などのhtmlデータ属性を設定するには、必ずjQuery Element.data()メソッドを使用してください。

$(this).data('method', 'post'); # sets "data-method" attribute to "post"
$(this).data('method', 'delete'); # sets "data-method" attribute to "delete"

# "this" refers to the clicked link element for example
于 2012-06-02T12:46:27.853 に答える