![](/img/trans.png)
[英]Rails 3 - Javascript :confirm not working for link_to and button_to with :method => :delete
[英]link_to with :method => :delete routing through GET not DELETE rails 4
我正在制作Ruby on Rails應用程序,遇到了一個問題,我認為這與我的應用程序中的Javascript無法正常工作有關。
我遇到的特定問題是link_to:
<%= link_to 'Sign out', destroy_user_session_path, :method => :delete %>
如您所見,這是相當標准的。
我在控制台中得到了這個:
Started GET "/user/sign_out" for ::1 at 2015-06-02
我認為這可能與bootstrap和我的application.js文件有關,但是我在網上找到的任何解決方案都沒有幫助。
這是我的application.js文件:
//= require bootstrap-sprockets
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require_tree .
在我的應用程序的早期,我在刪除同一應用程序中的“空格”實體時遇到了類似的問題,而其他類似的JS問題也是如此。
順便說一下,這是在Rails 4上
Rails入門Javascript驅動程序(UJS)-默認情況下, jquery-rails
使用帶有data-method
鏈接的攔截點擊並發送AJAX請求,該請求發送正確的HTTP方法,或者在客戶端不支持通過發送特定動詞時偽造該方法具有特殊_method
參數的POST請求。
這是因為HTML僅支持鏈接的GET操作和表單的GET|POST
。
您最有可能遇到JavaScript問題,例如語法錯誤,這會阻止UJS驅動程序執行其工作。 在瀏覽器中打開控制台。
我在這里檢查了所有評論。 所有包含項均已正確設置。 但是我注意到,刪除文章不起作用,而刪除評論則可以。 重寫一些代碼並在此處進行檢查后,我發現兩個文件在編輯器中看起來完全相同,但是一個版本可以工作,而一個版本不能工作!
咖喱博客/應用/視圖/用品/ index.html.erb:
<h1>Listing Articles</h1>
<%= link_to 'New article', new_article_path %>
<table>
<tr>
<th>Title</th>
<th>Text</th>
<th colspan="3"></th>
</tr>
<% @articles.each do |article| %>
<tr>
<td><%= article.title %></td>
<td><%= article.text %></td>
<td><%= link_to 'Show', article_path(article) %></td>
<td><%= link_to 'Edit', edit_article_path(article) %></td>
<td><%= link_to 'Delete', article_path(article),
method: :delete,
data: { confirm: 'Are you sure?' } %></td>
</tr>
<% end %>
</table>
但是,通過xxdiff
查看文件,我發現在一個版本中,僅使用制表符,而另一個版本中也使用空格。 可能是來自教程中的復制粘貼代碼。 因此,用制表符代替空白確實可以解決該問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.