簡體   English   中英

執行刪除操作時,為什么會出現路由錯誤?

[英]Why do I get a routing error when doing a delete action?

當我delete ,我收到一個路由錯誤:

Routing Error
No route matches [POST] "/items/10pp-logo"

別擔心, current_user.items.find(params[:id])確實找到了/items/10pp-logo的正確記錄。

這是我的item對象上的Delete操作視圖中的鏈接:

<td><%= link_to "<i class='fa fa-trash-o'></i>".html_safe, item, method: :destroy, data: { confirm: "Are you sure you want to delete #{item.name}?" } %></td>

這是控制器中的操作:

  def destroy
    @item = current_user.items.find(params[:id])
    @item.destroy

    respond_to do |format|
      format.html { redirect_to items_url }
      format.json { head :no_content }
    end
  end

所有JS都在頁腳中呈現 - 即在視圖中的刪除操作呈現的下方(不確定是否有所不同)。

這是我的模型 - Item.rb

  belongs_to :owner, :class_name => "User",
  :foreign_key => "user_id" 

這是物品路線:

resources :items

我在我的控制器中有7個RESTful動作,有2個nonRESTFul動作 - 我有兩條不同的路由。

思考?

我相信HTTP方法應該是:delete not:destroy。 它默認為:post,這是你得到的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM