Я пытаюсь отобразить динамический текстовый файл (robots.txt) в моем приложении Rails (3.0.10), но он продолжает отображать его как HTML (говорит консоль).
match 'robots.txt' => 'sites#robots'
Контроллер:
class SitesController < ApplicationController
respond_to :html, :js, :xml, :css, :txt
def robots
@site = Site.find_by_subdomain # blah blah
end
end
Приложение / просмотров / сайты / robots.txt.erb:
Sitemap: <%= @site.url %>/sitemap.xml
Но когда я посещаю http://www.example.com/robots.txt
, я получаю пустую страницу / источник, и в журнале говорится:
Started GET "/robots.txt" for 127.0.0.1 at 2011-11-21 11:22:13 -0500
Processing by SitesController#robots as HTML
Site Load (0.4ms) SELECT `sites`.* FROM `sites` WHERE (`sites`.`subdomain` = 'blah') ORDER BY created_at DESC LIMIT 1
Completed 406 Not Acceptable in 828ms
Есть идеи, что я делаю не так?
Примечание: я добавил это в config / initializers / mime_types, потому что Rails жаловался на то, что он не знает, что такое mime-тип .txt:
Mime::Type.register_alias "text/plain", :txt
Примечание 2: я удалил стоковый robots.txt из публичного каталога.