1
我有一个下载文档的路由设置,我需要一个文档名称的命名参数,所以我得到下载文档的文档名称。我还传递了一些未命名的参数来识别文档。Rails 3.1路由错误,命名参数不起作用
是这样的:
match "download/:name", :to => 'documents#download', :as => "doc_download"
我有我的链接的设置是这样的:
<%= link_to doc.pdf_name, doc_download_url(doc.pdf_name,
:prefix => doc.doc_prefix,:num => doc.doc_num, :change => doc.doc_change) %>
当我运行页面,我得到以下错误:
No route matches {:controller=>"documents", :action=>"download",
:prefix=>"D", :num=>"002", :change=>0, :name=>"sdr_vor_000.pdf"}
的奇怪的是路线显示在我的耙路线:
doc_download /download/:name(.:format) {:controller=>"documents", :action=>"dow
nload"}
想法?
此外,如果我删除名称参数或使其可选,它的工作原理,但不会将名称粘贴到URL。它只是被添加到查询字符串。
甜,作品。我也必须在正则表达式中加下划线。 /[a-z0-9_\.]+/i – joekarl