У меня есть действие, которое служит моей домашней странице. Он отлично работает при обычном посещении (например, пользователем в веб-браузере), но при посещении конкретными сканерами Интернета он вызывает следующую ошибку:
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
и поместить в него какую-то тарабарщину? Или я могу решить это более элегантно?