У меня есть действие, которое обслуживает мою домашнюю страницу.Он работает нормально при обычном посещении (т. Е. Пользователем в веб-браузере), но при посещении определенными веб-сканерами выдает следующую ошибку:
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/ruby-1.9.2-p180@accounts/gems/devise-1.3.0/app/views"
actionpack (3.0.4) lib/action_view/paths.rb:15:in `find'
Похоже, что боты пытаются получить *Формат 1004 *, для которого нет шаблона, имеет смысл, поэтому я попытался сделать следующее в своем действии:
def promoted
request.format = :html #force html to avoid causing missing template errors
# more action stuff....
end
По сути, я пытаюсь заставить формат запроса html, чтобы онслужит для шаблона html.
Тем не менее каждый раз, когда эти наборы ботов запрашивают эту страницу, возникает ошибка отсутствующего шаблона.
Это не так уж сложно, но в идеале я бы хотел решить этуошибка, если только так, я перестаю получать эти сообщения об ошибках из моего приложения.
Является ли единственный способ создать файл с именем my_action.text.erb
и добавить в него какую-то тарабарщину?Или я могу решить это более элегантно?