2012-10-17 49 views
2

我使用ruby 1.8.7和Rails 2.3.14。url的扩展名与rails中的格式化路由路径和正常路由路径不同

我知道格式化的路由已被弃用。 No More Formatted Routes

对于带有PDFKit的PDF生成,我需要一个像app/foo/bar.pdf这样的网址。 带格式的路线路上,我得到这个网址:

link_to('foo', formatted_bar_foo_path(:format => :pdf)) 

但在控制器我不碰到format.pdf块,但进入的js块,因为它是第一个。

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

随着正常的路由我得到一个URL没有.pdf扩展名(应用程序/富/酒吧?格式= PDF),我不需要,但碰上format.pdf块

link_to('bar', bar_foo_path(:format => :pdf)) 

我该怎么做这个url app/foo/bar.pdf并跑入format.pdf块?

[EDIT1]

我的路线是:

map.resources :foo, :collection => { :bar => :get } 

回答

0

你需要指定路线

在你的路由文件

resources :bar 

在控制器

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

然后,你可以做的东西一样

/bar/1.pdf 
+0

我指定的路线,是 - > map.resources:FOO,:收集=> {:巴=>:得到} – Piioo