在我的编辑操作中,我有

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

这样,用户只能编辑属于他们商店的商品。如果他们尝试编辑不属于自己商店的商品,则将收到ActiveRecord::RecordNotFound错误。

在这种情况下处理此错误的最佳方法是什么?我应该提出异常(exception)情况吗?我应该重定向到某个地方并设置闪光灯(如果是的话,我该怎么做),我应该保持原状吗?任何建议表示赞赏。

谢谢

最佳答案

将类似以下内容的内容添加到您的 Controller 中:

rescue_from ActiveRecord::RecordNotFound do
  flash[:notice] = 'The object you tried to access does not exist'
  render :not_found   # or e.g. redirect_to :action => :index
end

07-26 05:08