我試圖用rails中的remote: true
命令刪除帖子。當我不使用ajax時,一切正常。但是,當我使用遠程真正的命令我得到一個路由錯誤。當使用遠程真時刪除ROR路由錯誤中的方法
觀點:
<% @posts.each do |post| %>
<%= post.title %>
<%= link_to 'delete', post_path(post), method: :delete, data: { confirm: 'Are you sure?' }, remote: true %>
<% end %>
控制器:
def index
@posts = Post.all
end
def destroy
@post = Post.find(params[:id])
@post.destroy
redirect_to :back
end
路線:
resources :posts
這是我的錯誤日誌中獲得。
Started DELETE "/posts" for 127.0.0.1 at 2014-10-11 12:46:33 +0200
ActionController::RoutingError (No route matches [DELETE] "/posts"):
在此先感謝。
更新。當我寫rake routes
時,我會得到這個。
DELETE /posts/:id(.:format) posts#destroy
試試這個'<%= link_to'delete',post,method :: delete,data:{confirm:'你確定嗎? },remote:true%>' – anusha 2014-10-11 11:38:50
後端報告沒有方法刪除路由,所以前端發送正確的方法,但問題出在路由中,但路由看起來很好,嘗試運行'rake routes'和確保你在路線中有正確的路線 – 2014-10-11 11:41:32
它確實有效anusha。謝謝!但由於某種原因,它似乎正在向不同的路由發出兩個刪除請求。如果我在日誌中看到我得到這第一個「開始刪除」/ posts/198「爲127.0.0.1在2014年10月11日14:28:03 +0200」和右後我得到這個「開始刪除」/職位「對於127.0.0.1在2014-10-11 14:28:03 +0200「我得到一個路由錯誤。 – niiicolai 2014-10-11 12:30:40