Ruby on rails 你一定要弄乱轨道吗;s";路线.rb“;文件

Ruby on rails 你一定要弄乱轨道吗;s";路线.rb“;文件,ruby-on-rails,configuration,rest,routes,Ruby On Rails,Configuration,Rest,Routes,除了调用map.root来设置默认路由之外,我从不触摸routes.rb。我一直满足于使用表单的URL /controller/action/perhaps_an_id 而且效果很好 这会让我变成坏人吗?我是不是错过了一些非常棒的东西 如果我尝试采用RESTful设计呢?这是否意味着我必须编辑routes.rb,或者我可以继续愉快地忽略它 (我试着用Rails的方式来阅读这个主题,但这是无法忍受的。)没有切换到RESTful设计不会让你成为一个坏人,如果你觉得没有必要改变,继续用1.x的方式编

除了调用
map.root
来设置默认路由之外,我从不触摸
routes.rb
。我一直满足于使用表单的URL

/controller/action/perhaps_an_id
而且效果很好

这会让我变成坏人吗?我是不是错过了一些非常棒的东西

如果我尝试采用RESTful设计呢?这是否意味着我必须编辑
routes.rb
,或者我可以继续愉快地忽略它


(我试着用Rails的方式来阅读这个主题,但这是无法忍受的。)

没有切换到RESTful设计不会让你成为一个坏人,如果你觉得没有必要改变,继续用1.x的方式编写你的应用程序

大多数Rails开发人员都采用了REST,并且似乎对此非常满意。我认为这里没有必要重复所有支持REST的论点

您确实需要在路由文件中为每个资源添加一行,例如:

map.resources :posts

如果您要使用RESTful,是的,您必须编辑routes.rb并添加您的资源,如

map.resources :your_resource
或者如果您有嵌套资源

    map.resources :people do |person|
      person.resources :ideas do |idea|
        ideas.resources :bad_ones
      end
    end

您可能还希望为您的营销部门定制命名路线(例如:mycolsite.com/free-trial),这些路线将转到特定的控制器和操作等


Ryan Bates提供了一系列屏幕广播,介绍了使用routes可以做的一些整洁的事情:

如果您使用默认的脚手架生成资源,那么它甚至会在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]

你还可以用嵌套资源、命名路由等做很多很酷的事情。文档中有很多例子()

不,不是拖拉。我真的很想知道。