【问题标题】:The extension of the url is different with formatted routes path and normal routes path in railsurl的扩展名与rails中的格式化路由路径和普通路由路径不同
【发布时间】:2012-10-17 07:42:37
【问题描述】:

我使用 ruby​​ 1.8.7 和 Rails 2.3.14。

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

对于使用 PDFKit 生成 PDF,我需要一个类似 app/foo/bar.pdf 的 URL。 使用格式化的路线路径,我得到了这个网址:

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

但是在Controller中我没有遇到format.pdf块,而是进入了js块,因为它是第一个。

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

通过正常路线,我得到一个没有 .pdf 扩展名的 url (app/foo/bar?format=pdf),我不需要,但遇到了 format.pdf 块

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

我可以做些什么来获得这个网址 app/foo/bar.pdf 并进入 format.pdf 块?

[编辑1]

我的路线是:

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

【问题讨论】:

    标签: ruby-on-rails web-applications routes pdfkit


    【解决方案1】:

    您需要指定路线

    在你的路线文件中

    resources :bar
    

    在控制器中

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

    然后你可以做类似的事情

    /bar/1.pdf
    

    【讨论】:

    • 我已经指定了路线,路线是-> map.resources :foo, :collection => { :bar => :get }
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-10
    • 2021-12-14
    相关资源
    最近更新 更多