私は私のアプリでURLを削除するために次のlink_を持っています
<%=link_to "Delete",blog_path(@blog.id), :method => :delete, :class => "delete", :confirm => "Are you sure ?"%>
動作していないようです。このURLをクリックすると、表示パスが表示されます。修正方法を教えてください。ありがとう。
JQueryを使用していますか?もしそうなら、問題は、更新されたRails.jsファイルなしでjQueryを使用していることである可能性があると思います。
Rails.jsをここからダウンロードします: https://github.com/Rails/jquery-ujs/raw/master/src/Rails.js javascriptsディレクトリにドロップし、付属のRails.jsを上書きしますRailsのデフォルト。
それを含めるためにjavascriptインクルード行を追加します。
<%= javascript_include_tag "Rails" %>
これをJqueryインクルードタグの後に置きます。プロトタイプを使用する予定がない場合は、javascriptのデフォルトを除外することもできます。
アプリケーションにjQueryUIを含めたところ、deleteがshowとして機能していることがわかりましたが、上記の解決済みの問題を実行した後です。
これらの行がapplication.js
に表示されていることを確認してください。
//= require jquery
//= require jquery_ujs
Javaスクリプトがオンになっていることを確認してください。それ以外の場合は:method => :delete
Railsで表示されるのと同じように機能します。
ブログにRESTfulルーティングを使用している場合は、次のように機能するはずです。
<%= link_to "Delete", @blog, :method => :delete, :confirm => "Are you sure ?"%>
:methodの代わりに 'data-method'を試すことができます。
<%=link_to "Delete",blog_path(@blog.id), 'data-method' => :delete, :class => "delete", :confirm => "Are you sure ?"%>
Jquery_ujs.jsで次のコードを確認できます。
// Handles "data-method" on links such as:
// <a href="/users/5" data-method="delete" rel="nofollow" data-confirm="Are you sure?">Delete</a>
link_to
がdelete
メソッドで機能するためには、Rails jQuery用の邪魔にならないスクリプトアダプター が必要です。
あなたのGemfileが持っていることを確認してください
gem 'jquery-Rails'
App/assets/javascripts /application.jsが持っていることを確認してください
//= require jquery
//= require jquery_ujs
App/views/layouts /application.html.erbに
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
head
タグ内。 Turbolinksを使用する予定がない場合は、'data-turbolinks-track' => true
セクションを削除してください。
あなたが使用する必要があります
<%=button_to "Delete",blog_path(@blog.id), :method => :delete, :class => "delete", :confirm => "Are you sure ?"%>