В настройках это в моем routes.rb
:
match 'dump/:prefix' => 'TvShows#dump'
Затем в TvShowsController
:
def dump
render :dump
end
Затем я добавил файл с именем dump.xml.builder
в views/tv_shows
каталог с таким содержимым:
xml.instruct!
xml.title "Test"
Когда я делаю curl http://server/xml/xyz
, я получаю это:
<?xml version="1.0" encoding="UTF-8"?>
<title>Testing</title>
И вывод сервера rails:
Started GET "/dump/twd" for 127.0.0.1 at 2011-11-26 23:29:28 -0500
Processing by TvShowsController#dump as */*
Parameters: {"prefix"=>"twd"}
Rendered tv_shows/dump.xml.builder (0.1ms)
Completed 200 OK in 40ms (Views: 40.0ms | ActiveRecord: 0.0ms)
Проблема в том, что я использую веб-браузер для получения XML;он говорит: Missing template tv_shows/dump
и вывод на сервер rails:
Started GET "/dump/twd" for 127.0.0.1 at 2011-11-26 23:29:21 -0500
Processing by TvShowsController#dump as HTML
Parameters: {"prefix"=>"twd"}
Completed 500 Internal Server Error in 5ms
ActionView::MissingTemplate (Missing template tv_shows/dump, application/dump with {:handlers=>[:erb, :builder, :coffee], :formats=>[:html], :locale=>[:en, :en]}. Searched in:
* "/xxxxxx/ruby/pppp/app/views"
):
app/controllers/tv_shows_controller.rb:25:in `dump'
Rendered /xxxxx/.rvm/gems/ruby-1.9.2-p290/gems/actionpack-3.1.3/lib/action_dispatch/middleware/templates/rescues/missing_template.erb within rescues/layout (0.4ms)
Насколько я знаю, я говорю Ruby, чтобы он отображал представление всегда, используя :dump
... так почему он пытаетсясделать в HTML?