首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >奇怪的MissingTemplate :formats=>异常[::formats=>,"image/pjpeg",:png,:gif]

奇怪的MissingTemplate :formats=>异常[::formats=>,"image/pjpeg",:png,:gif]
EN

Stack Overflow用户
提问于 2013-09-19 11:56:19
回答 1查看 1.2K关注 0票数 1

在生产中,我们经常得到以下例外情况:

ActionView::MissingTemplate发生在constructions#show中: 缺少模板构造/显示,应用/显示与{:locale=3D>:= ru,:formats=3D>:jpeg,“图像/pjpeg”,:png,:gif,:handlers=3D>:erb,:b= uilder,:咖啡,:jbuilder,:haml}

让我困惑的是格式散列,它请求某些图像(:jpeg、" image /pjpeg“、:png、:gif)。我们没有在应用程序中注册自定义MIME类型,据我所知,没有相应的Rails默认MIME类型。

所以问题是:是什么样的请求生成这种格式哈希?

EN

回答 1

Stack Overflow用户

发布于 2014-04-12 15:01:12

我也犯了同样的错误。我注意到这是一个搜索引擎的"YandexImage“试图获得自定义格式。在我的控制器和操作上是空的,因为它是一个静态的*.html.erb页面。这是更多的信息。

代码语言:javascript
复制
* DOCUMENT_ROOT : /srv/www/apps/mysite/current/public 
* HTTP_ACCEPT : image/jpeg, image/pjpeg, image/png, image/gif 
* HTTP_CONNECTION : Keep-Alive 
* HTTP_FROM : support@search.yandex.ru 
* HTTP_HOST : mysite.com 
* HTTP_USER_AGENT : Mozilla/5.0 (compatible; YandexImages/3.0; +http://yandex.com/bots) 
* ORIGINAL_FULLPATH : / 

解决这一问题的方法有两种:

编辑public/robots.txt以阻止YandexImage。参见http://yandex.com/bots上的更多信息

代码语言:javascript
复制
User-agent: YandexImage 
Disallow: /

或者将下面的代码放到您的操作中,它将只处理html,否则会引发未找到的页面。

代码语言:javascript
复制
respond_to do |format|
  format.html
  format.any { raise ActionController::RoutingError.new('Not Found') }
end
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18893974

复制
相关文章

相似问题

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