我从来没有触摸routes.rb,而不是调用map.root来设置默认路由.我一直很满足于使用表单的网址…
/controller/action/perhaps_an_id
它工作正常.
这是否使我成为坏人?我错过了一些完全真棒的东西吗?
如果我尝试采用REST风格的设计呢?这是否意味着我必须编辑routes.rb或者我可以继续愉快地忽略它吗?
(我试图在Rails Way中阅读这个话题,但是这是无法忍受的.)
解决方法
如果您使用默认脚手架生成资源,那么它甚至可以在routes.rb中包含您的路由.
如果您不使用脚手架,那么它的工作原因是默认情况下底部的默认路由:
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)