0

我正在尝试将我正在开发的项目中的旧 DSL 样式 routes.rb 文件转换为 Rails 3 中使用的新 DSL 样式。由于其中大部分由常规路由组成,因此转换似乎很简单。大部分只是这样:

RailsRoot::Application.routes.draw do |map|
  root :to => "index#index"
  match '/table/create' => "table#create"
  match '/table/delete' => "table#delete"

  # A bunch more of similar match statements

  map.js ':controller/:action.:format'
end

我一直在按照引擎场的文档进行转换。如果我没看错,在我看来我应该能够删除周围的draw do |map|代码,并且由于在新的 DSL 下,:to除非另有说明,否则似乎假定标签,匹配语句应该能够保持原样和工作。(但是,我的假设可能完全错误,这可能是我的主要问题。)

我认为我遇到的问题是,当我到达那条线时map.js ':controller/:action.:format',我不知道如何将其转换为 Rails 3 风格的 DSL 以进行路由。我将如何进行转换?

编辑#1:

在使用 Iuri G 的评论建议转换它后,我刚刚运行了 rake 路线,它实际上是在抱怨root没有被定义。所以 Iuri G 可能给了我正确的解决方案,但我需要先解决另一个问题,然后才能验证它。

编辑#2:

我是个白痴,没有意识到这一点。由于我看到的所有示例代码都排除了这部分,我认为我不再需要它了。但是,我缺少的是这条线: RailsRoot::Application.routes.draw do 然后将其余路线放在街区内。我现在真的觉得很傻。无论如何,Iuri G 是对的。非常感谢!

4

1 回答 1

0

正如 luri G. 之前所说,转换它的正确方法是将其更改为:

match ':controller(/:action(/:id))(.:format)'

于 2013-07-05T20:09:39.793 回答