Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails-抑制服务器端静态内容的路由错误404_Ruby On Rails_Ruby_Static_Rails Routing - Fatal编程技术网

Ruby on rails Rails-抑制服务器端静态内容的路由错误404

Ruby on rails Rails-抑制服务器端静态内容的路由错误404,ruby-on-rails,ruby,static,rails-routing,Ruby On Rails,Ruby,Static,Rails Routing,我是Rails的新手,我的问题如下: 我正在通过服务器向远程网站发出GET请求,并将响应作为HTML发送到前端。 不幸的是,我正在从远程站点解析的HTML引用了静态文件,这导致了ActionController::RoutingError(没有与[GET]“…”匹配的路由) 如何在控制器中抑制这些错误,使它们不会出现在浏览器控制台中? 代码如下: def get_page url = URI.parse('[website]') req = Net::HTTP::Get.new


我是Rails的新手,我的问题如下:
我正在通过服务器向远程网站发出GET请求,并将响应作为HTML发送到前端。
不幸的是,我正在从远程站点解析的HTML引用了静态文件,这导致了ActionController::RoutingError(没有与[GET]“…”匹配的路由)

如何在控制器中抑制这些错误,使它们不会出现在浏览器控制台中? 代码如下:

def get_page

    url = URI.parse('[website]')
    req = Net::HTTP::Get.new(url.path)
    res = Net::HTTP.start(url.host, url.port) {|http|
      http.request(req)
    }

    @result = res.body

    respond_to do |format|
      format.html { render :text => @result }
    end
end

谢谢你的帮助

我已经解决了这个问题,但我不确定这是否是一个非常优雅的解决方案。

在my routes.rb中,我将以下行放在所有已定义路由的底部:

get '*static'  => 'home#static_404'
然后,我将以下方法放入我的“家庭控制器”:

似乎是可行的,但我不喜欢Rails强迫我使用*[随机字母]来定义此错误路径。
*本身似乎不起作用,但如果我以后键入任何内容,它就会起作用

  def static_404
    render :nothing => true
  end