17

ruby on rails でコーディングを始めたばかりで、私が使用しているよりも古いバージョンのレールを使用しているガイドに従っています。私は3.2.12を使用しています

これは私のコードです:

<%= button_to 'Destroy', product, :method => "delete", :confirm => 'Are you sure?'  %>

私が理解していることから、これらはレールに渡されるシンボルであり、メッセージボックスをポップアップして該当する場合はオブジェクトを削除するhtmlまたはjavascriptアクションに変換されます。上記のコードはオブジェクトを破棄しますが、確認ボックスはポップアップしません。どうしてこれなの?また、最初は次のように上記を持っていました:

<%= link_to 'Destroy', product, :method => "delete", :confirm => 'Are you sure?'  %>

link_to または button_to を使用して、どのような状況でも確認ボックスがポップアップしません。以下は、Chrome のインスペクターを使用して検査したときにレンダリングされた html です。jquery と jquery-ujs もロードされているので、ここから先はわかりません。

<input name="_method" type="hidden" value="delete">
<input data-confirm="Are you sureeee?" type="submit" value="Destroy">
<input name="authenticity_token" type="hidden" value="Q2xicqELHYHtrwarbtPBe5PT2bZgWV5C+JdcReJI8ig=">

ありがとう!

4

6 に答える 6

62

データ属性内に確認属性を追加して、機能させる必要がありました。ブートストラップでRails 4を使用しています。これが、その問題を抱えている他の誰かに役立つことを願っています。

link_to 'Delete', @rule, method: :delete, data: { confirm: 'Are you sure you want to delete this alert?' }
于 2014-12-10T17:24:33.313 に答える
11

これは jQuery に依存しているため、次のものがあることを確認してください。

あなたのGemfileで

group :assets do
  gem 'jquery-rails'
end

assets/javascripts/application.js ファイルの次の行の前に//= require_tree .

//= require jquery
//= require jquery_ujs
于 2013-04-04T00:17:22.427 に答える
4

かなりばかげているように感じますが、adblock がメッセージ ボックスをブロックしていました。申し訳ありません。すべて順調です。adblockを無効にしました。

于 2013-04-05T02:53:48.417 に答える
0

Chrome でポップアップ ブロッカーを実行しています。ホワイトリストに登録しただけで、うまくいきhttp://localhost:3000ました。

于 2015-10-27T22:35:28.043 に答える