ruby-on-rails-3 – 需要一个可能的时间段在:id中的Rails路由,但也保留可选:格式

我有一个Rails路线,将股票代码符号作为:id

> feeds / AMZN将返回一个Amazon的页面
> feeds / AMZN.csv将返回相同数据的CSV表示。

但是我也需要适应VIA.B(Viacom)这样的股票,以便这两条路线都可以运作:

feeds/VIA.B (html)
feeds/VIA.B.csv (csv)

这可能吗?如何设置路由?

我最近碰到RubyGems API(尝试使用API​​访问flickr.rb(/api/v1/gems/flickr.rb.json))不起作用。

诀窍是提供具有正则表达式的路由来处理:id参数,然后指定有效:格式。请记住:id正则表达式需要“懒惰”(必须以问号结尾),否则将使用.csv,并认为它是id的一部分。以下示例将允许JSON,CSV,XML和YAML格式用于具有句点的ID:

resources :feeds, :id => /[A-Za-z0-9\.]+?/, :format => /json|csv|xml|yaml/
http://stackoverflow.com/questions/6719797/need-a-rails-route-with-a-possible-period-in-the-id-but-also-retain-the-option

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:ruby-on-rails-3 – 需要一个可能的时间段在:id中的Rails路由,但也保留可选:格式