routes.rb
除了打电话map.root
设置默认路线之外,我从未接触过.我一直满足于使用表单的URL ...
/controller/action/perhaps_an_id
它工作正常.
这会让我成为一个坏人吗?我错过了一些非常棒的东西吗?
如果我尝试采用RESTful设计怎么办?这是否意味着我必须编辑routes.rb
或者我可以继续愉快地忽略它吗?
(我尝试在The Rails Way中阅读这个主题,但它无法忍受.)
如果您使用默认的脚手架生成资源,那么它甚至会在routes.rb中包含您的restful路由.
如果您没有使用脚手架,那么它工作的原因是默认情况下底部的默认路由:
map.connect ':controller/:action/:id' map.connect ':controller/:action/:id.:format'
我一直在关注最佳做法是删除这些用于生产应用程序,而是确保只暴露需要公开的资源.使用Rails 2.2,您甚至可以通过以下方式限制来自map.resources的RESTful方法:
map.resources :posts, :only => [:index, :show] map.resources :comments, :except => [:edit]
你可以用嵌套资源,命名路线等做很多很酷的事情.他们在文档中有很多例子(http://www.railsbrain.com/api/rails-2.2.2/doc/index. html?a = M000255&name = resources)
没有切换到RESTful设计不会让你成为一个坏人,如果你觉得没有必要改变继续以1.x方式编写你的应用程序.
大多数Rails开发人员都采用了REST,似乎对它非常满意.我认为这里不需要重复所有专业的REST参数.
您需要为每个资源添加一行到您的路径文件,例如:
map.resources :posts
您可能还想为您的营销部门制作自定义命名路线(例如:mycoolsite.com/free-trial),这些路线将转到特定的控制器和操作等.
Ryan Bates有一系列的截屏视频可以解决一些你可以用路线做的好事:http://railscasts.com/tags/14