首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rescue_from不起作用

Rescue_from不起作用
EN

Stack Overflow用户
提问于 2017-07-18 11:03:48
回答 1查看 2.6K关注 0票数 0

当我加载图像时,我试图处理路由错误,有些图像丢失了。

您知道,我只想用默认的图像图标替换丢失的图像,并抑制错误消息。

所以我试着

代码语言:javascript
复制
class ImagesController < ApplicationController
       [...]

       def index
         images = Image.all
         rescue_from ActionController::RoutingError, with: :image_route_error
       end

      [...]
 end

然后我得到了这个

代码语言:javascript
复制
NoMethodError (undefined method `rescue_from' for #<ImagesController:0x007fe382227e38>
Did you mean?  rescue_handlers):

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-18 11:33:49

您可以使用rescue_from方法处理除服务器错误之外的任何类型的异常。在ApplicationController中编写此方法。

代码语言:javascript
复制
rescue_from ActionController::RoutingError do |exception|
    if controller_name == "image" && action_name == "index"
           render 'default_image_here', status: 200 
    else
     render plain: 'Not found', status: 400 
   end
end

render 'default_image_here'中,您可以使用以下内容:

代码语言:javascript
复制
render :text => open(image_url, "rb").read, status: 200

这将以二进制而不是文本的形式读取文件。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45164953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档