index.html.erb ファイルで、オブジェクト (「リスト」) のタイトルと、通常の「表示」、「編集」、および「破棄」リンクおよび/またはボタンを表示しようとしています。:method => :delete および :confirm => "are you sure?" を使用すると、link_to も button_to も JavaScript 確認ボックスを表示しません。ここに私の index.html.erb があります:
<h2><a href="#" onclick="alert('Hello world!'); return false;">Click Here for a Javascript test</a></h2>
<table>
<tr>
<th>List Title</th>
<th></th>
<th></th>
<th></th>
</tr>
<% @listings.each do |listing| %>
<tr>
<td><%= listing.title %></td>
<td><%= button_to 'Show', listing %></td>
<td><%= button_to 'Edit', edit_listing_path(listing) %></td>
<td><%= button_to( 'Destroy', listing,
:confirm => 'Are you sure?', :method => :delete)%> </td>
<td><%= link_to "Destroy", listing, :confirm => "Are you sure?", :method => :delete %> </td>
</tr>
<% end %>
</table>
リストの上部にある "Hello World" JS 確認リンクは完全に機能するので、邪魔にならない JavaScript が私のアプリでうまく機能していると確信しています。(必要な javascript_include_tag :defaults と csrf_meta_tag がアプリケーション テンプレートにあることも確認しました。) Rails のドキュメントでは、使用している引数がサポートされていることが確認されています (url、:confirm、:method)。ただし、button_to も link_to も、:confirm で示される JS アラートを生成しません。もう 1 つの奇妙な点は、まったく同じ引数を使用すると、button_to はレコードを削除しますが、link_to は削除しません。
これを修正するために何を調査すべきかについての提案をいただければ幸いです。
ありがとう!