Проблема с использованием: default => {: format => 'pdf'} в Rails 3 - PullRequest
2 голосов
/ 21 февраля 2011

Я хочу направить запросы примерно так: отчеты / типы крови перенаправляются в отчеты контроллеров, типы действий, с форматом = pdf, и маршрут, называемый bloodtype_report. Руководство приводит пример

match 'photos/:id' => 'photos#show', :defaults => { :format => 'jpg' }

Когда я делаю это:

match 'reports/bloodtypes' => 'reports#bloodtypes', :defaults => {:format => 'pdf'}, :as => 'bloodtype_report'

или это

match 'reports/bloodtypes' => 'reports#bloodtypes', :format => 'pdf', :as => 'bloodtype_report'

контроллер все еще не получает :format => 'pdf' в params и пытается отобразить отчет как HTML. Самое смешное, что Rake показывает маршрут как

 bloodtype_report :  /reports/bloodtypes(.:format) : {:format=>"pdf", :controller=>"reports", :action=>"bloodtypes"}

использую ли я первую форму (с: по умолчанию) или вторую (просто устанавливая формат в pdf). Кажется, что маршрут правильный, так почему параметр формата не передается в контроллер?

1 Ответ

1 голос
/ 21 февраля 2011

Вы пытались добавить это в свой контроллер:

respond_to do |format|
  format.html
  format.pdf { render :pdf => "show" }
end
...