1

私はしばらくの間解決策を探していましたが、私のコードの何が問題になっているのかを見つけることができませんでした。

イベントページでajax呼び出しを使用してアイテムを削除しようとしていますが、機能しないようです。

<%= link_to 'X', { :controller => 'items', :action => 'destroy', :id => item.id }, :method => :delete, :confirm => 'Are you sure you want to delete this item?', :remote => true %>

<a rel="nofollow" data-method="delete" data-confirm="Are you sure you want to delete this item?" href="/items/83">X</a>

すべてが正しく見えると思いますが、データ属性が機能していないようです。これをクリックしても確認は行われず、代わりにコントローラーの「show」アクションが呼び出されるため、data-methodも機能しません。

最も奇妙な部分は、確認メッセージを生成するページ上の何か他のものです。

<%= link_to image_tag("trashcan.png"), @event, :confirm => 'Are you sure you want to delete this event?', :method => :delete %>

<a rel="nofollow" data-method="delete" data-confirm="Are you sure you want to delete this event?" href="/events/3">

私は最初のものの「X」を画像に変更しようとしました(image_tagがうまくいった場合)-運がありません。ただし、link_toをbutton_toに変更すると削除されましたが、buttonがサポートしていないと思われる確認は行われませんでした。そのため、他の場所でjavascriptエラーが発生したかどうかはわかりませんが、他の場合は機能するか、どこかで何かが欠落している可能性があるため、そうではないと思います。

編集:私はまた、各アイテムのコメントがあり、それも同様に機能することを言及するのを忘れました...

<%= link_to 'X', [comment.item, comment], :confirm => 'Are you sure?', :method => :delete, :remote => true %>
<a rel="nofollow" data-remote="true" data-method="delete" data-confirm="Are you sure?" href="/items/83/comments/32">X</a>
4

1 に答える 1

1

これを修正しました。問題は、これらのリンクの背後にdivがあり、クリックイベントをバインドし、event.stopPropagation()も呼び出したため、データ呼び出しが行われなかったことです。

于 2011-07-26T00:00:06.517 に答える