Ruby 1.8.7 と Rails 2.3.14 を使用しています。
フォーマットされたルートが非推奨であることは知っています。 フォーマットされたルートはもうありません
PDFKit で PDF を生成するには、app/foo/bar.pdf のような URL が必要です。フォーマットされたルート パスを使用すると、次の URL を取得できます。
link_to('foo', formatted_bar_foo_path(:format => :pdf))
しかし、コントローラーでは、format.pdf ブロックではなく、js ブロックに実行されます。これが最初であるためです。
respond_to do |format|
format.js { ... }
format.pdf { ... }
end
通常のルートでは、.pdf 拡張子 ( app/foo/bar?format=pdf ) のない URL を取得します。これは必要ありませんが、format.pdf ブロックに遭遇します。
link_to('bar', bar_foo_path(:format => :pdf))
この URL app/foo/bar.pdfを持って format.pdf ブロックに入るにはどうすればよいですか?
[編集1]
私のルートは次のとおりです。
map.resources :foo, :collection => { :bar => :get }