如何将其他参数传递给Rails中的资源路由?

时间:2013-02-03 15:49:43

标签: ruby-on-rails

我有一个名为Post的模型。在config/routes.rb中,我将其路线定义为:

resources :post

使用默认路径一切正常。我可以在以下网址创建一个新帖子:

/posts/new

我需要传递其他参数,以便新网址变为:

/posts/new/:year/:month/:day

如果我执行以下操作,则假定应存在post_id

resources :posts do
  match '/new/:year/:month/:day',         
    :to => 'posts#new',
    :constraints => {:year => /\d{4}/, :month => /\d{2}/, :day => /\d{2}/},
    :as => 'new_post'
end

对于上述情况,rake routes给我:

/posts/:post_id/new/:year/:month/:day(.:format)

如何配置默认new路径以传递其他参数?

1 个答案:

答案 0 :(得分:4)

...
match '/new/:year/:month/:day', :on => :new
...