2

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 }
4

1 に答える 1

0

ルートを指定する必要があります

ルートファイルで

resources :bar

コントローラ内

respond_to do |format|
  format.js { ... }
  format.pdf { ... }
end

次に、次のようなことができます

/bar/1.pdf
于 2012-10-17T07:58:31.253 に答える