这很完美,现在我不确定发生了什么。
以下是错误:
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。
我没有更改任何与此直接相关的代码,因此我怀疑它与我尝试使用我的咖啡脚本进行的更改有关。 (我从我的gem文件中删除了它,运行了bundle install,然后决定尝试不删除它,所以我把它放回gem文件中,再次运行bundle install ...就是这样。)
无论如何,当我在show.html中并且点击我的删除按钮时,会发生错误。 delete_all或删除单数status_update。
以下是所有这些的控制器方法,我根本没有改变:
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的宝石文件
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而不是运行不安全:/
谢谢!
答案 0 :(得分:0)
您的第一个问题是,您很可能没有正确启用javascript。在Rails中,delete
方法是通过javascript完成的。确保在布局中正确包含所有js文件并application.js
。你需要有原型或jquery。