【发布时间】:2015-07-31 18:15:07
【问题描述】:
当我尝试从 wiki 中删除一篇文章时,它会抛出错误“找不到具有 id 的文章...”
销毁方法:
def destroy
@article=Article.find(params[:id])
@article.destroy
flash.notice="Article '#{@article.title}' was deleted"
redirect_to article_path
end
显示视图(show.html.erb):
<h1><%= @article.title %></h1>
<p><%= @article.body %></p>
<%= link_to "<<Back to Articles List", articles_path %>
<%= link_to "Delete", article_path(@article), method: :delete, data: {confirm: "Really delete this article?"} %>
【问题讨论】:
-
检查控制器中的参数
-
也粘贴来自
log或inspecting params的参数 -
错误信息已经很明显了。 ActiveRecord 只是抛出一个异常,它找不到任何与您的 params[:id] 匹配的记录。再次检查您的 params[:id],并确保您的数据库中有该记录
-
这可能是错误 url @SomethVictory 的问题。例如主机/文章/文章/1。初学者面临这个问题
-
我觉得删除应该没问题,url路径应该是/articles/:id。问题应该出在实例变量@article上,或者数据库中可能没有该记录,可能是他从控制台手动删除了它
标签: ruby-on-rails ruby-on-rails-4.1