我有,供應我的主頁的操作。正常訪問時(通過在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