修改Rails 3中命名路由的行为

时间:2011-03-16 04:32:54

标签: ruby-on-rails ruby routing

在我的rails博客中,我写道,我希望帖子的“show”路线始终具有以下形式:

  

/年/月/日/标题

目前我可以使用通用匹配来完成此任务:

match "/:year/:month/:day/:url_title", :to => "posts#show", :constraints => {:year => /(19|20)\d\d/, :month => /[01]?\d/, :day => /[0-3]?\d/}

我的模型负责将标题转换为连字符分隔符。

但是,我需要一种方法将此行为集成到资源路由中,以便我的post_path方法可以继续工作 - 最好只传入一个post对象。

我想知道是否有某种方法可以使用:as选项来设置路径,或者使用块来执行。

1 个答案:

答案 0 :(得分:1)

您自己回答了问题,只需使用:as => :post然后post_path(@post)即可使用!