[英]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.