当我已经完成资源时,是否可以添加更多路线:帖子

时间:2011-02-27 04:18:09

标签: ruby-on-rails

在我的路线中,我有:

resources :posts

现在说我要创建一个新的动作/视图,是否可以将它添加到一个块中:

resources :posts do
  // new routes other than the show/new/create/delete/update that REST gives me.
end

4 个答案:

答案 0 :(得分:3)

是的

resources :post do
  get :action, :on => :member
  get 'other', :on => :collection
  post :change, :on => :member
  resources :another_model
end

注意:这些只是你可以做的样本,这确实假设Rails 3.有关更多信息,你应该阅读Ruby Rails Guide: Rails Routing from the Outside In

答案 1 :(得分:0)

是的,只需添加它们即可。例如,如果您希望能够发布到“new_action”,那么

resources :posts do
  post "new_action"
end

答案 2 :(得分:0)

你看过Rails Guide: Rails Routing from the Outside In了吗? 2.9节添加更多RESTful动作描述了您正在寻找的内容。我也经常在那里参考其他指南。

答案 3 :(得分:0)

您可以为资源成员

执行此操作
resources :posts do
  get :preview, :on => member
end

或资源集合

resources :posts do
  get :active, :on => collection
end

当我开始使用rails时,我对成员集合的内容感到困惑。对于Post资源,成员是单个帖子,而集合是所有帖子的集合。例如......

# url for a member
/posts/5/preview

# url for a collection
/posts/active

导轨指南详细介绍了routing