我有,供应我的主页的操作。正常访问时(通过在Web浏览器的用户IE)它工作正常,但是当通过特定的网络爬虫访问,它引发以下错误:ActionView :: MissingTemplate错误,只有当被Bot访问时?
A ActionView::MissingTemplate occurred in tags#promoted:
Missing template tags/promoted with {:handlers=>[:erb, :rjs, :builder, :rhtml, :rxml], :formats=>["text/*"], :locale=>[:en, :en]} in view paths "/Apps/accounts/app/views", "/usr/local/rvm/gems/[email protected]/gems/devise-1.3.0/app/views"
actionpack (3.0.4) lib/action_view/paths.rb:15:in `find'
它出现的机器人正在试图获取text/*
格式,其中有没有模板,这是有道理的,所以我试图做到以下几点在我的行动:
def promoted
request.format = :html #force html to avoid causing missing template errors
# more action stuff....
end
从本质上讲,我试图强制要求的格式HTML,使其服务于HTML模板。
然而,每一个这些组机器人的请求该页面时,会出现缺少模板错误。
这不是什么大不了的,但最好我想解决这个错误,如果只有这样我阻止我的应用程序获得这些错误的电子邮件。
是让一个叫my_action.text.erb
文件,并把一些乱码在它的唯一途径?或者我可以更优雅地解决这个问题吗?
你可以发布你的控制器代码,特别是'索引'操作吗?这应该很容易在一分钟内解开,以便理清Rail的格式服务自动驾驶。 – nessur 2011-05-10 14:17:37