这工作得很好,现在我不确定发生了什么。
以下是错误:
ActiveRecord::RecordNotFound at /status_updates/92
Couldn't find User with id=92
和
ActiveRecord::RecordNotFound at /status_updates/delete_all
Couldn't find User with id=delete_all
发生的情况是我的用户有很多状态更新。这里的92应该是指属于这个用户的状态更新92。
我没有更改与此直接相关的任何代码,因此我怀疑这与我尝试使用咖啡脚本进行的更改有关。(我从我的 gem 文件中删除了它,运行了 bundle install,然后决定尝试不删除它,所以我把它放回 gem 文件中,再次运行 bundle install ......就是这样。)
无论如何,当我在 show.html 中并单击我的任一删除按钮时,就会发生错误。单个 status_update 的 delete_all 或 delete。
这是所有这些我根本没有改变的控制器方法:
def show
@user = User.find(params[:id])
@status_updates = @user.status_update
end
def destroy
@status_update.destroy
flash[:success] = "Status update deleted!"
redirect_to status_update_path(current_user.id)
end
def delete_all
@all_status_updates = current_user.status_update
@all_status_updates.delete_all
flash[:success] = "All status updates deleted!"
redirect_to status_update_path(current_user.id)
end
在我的控制台中,我可以查找该用户并查看它的状态更新,并且状态更新都如我所愿。这是一件好事。
但是 ActiveRecord 一下子就找不到了??
哦,是的..这是我的与 delete_all 按钮的 status_updates 相关的 gem 文件
resources :status_updates do
collection do
delete :delete_all
end
end
删除按钮如下所示:
<%= link_to "delete", status_update, method: :delete %>
<%= link_to "Reset Log", delete_all_status_updates_path, method: :delete, data: { confirm: "Are you sure? Once this log is reset there is no going back!"}%>
我把它们放在那里是为了展示它们的路径。
这应该教会我编写测试并将我所有的工作推送到 git 而不是运行不安全的:/
谢谢!