No route matches [GET] “/reporting/from_perl/0” after upgrading to Rails 3.1
我正在逐步升级一个非常老的Rails应用程序。此刻,我陷入了Rails 3.1的困境。我完成了所有相关的升级步骤。目前,我不想使用资产,因此我在config / application.rb中禁用了它。
将我的Gemfile中的rails版本从3.0.20更改为3.1.12时,立即出现no-route-matches错误。我还将所有升级步骤都改回了3.0,以查看导致错误的部分,但仅当我更改Gemfile中的行时才会发生。
我的路线.rb:
1 2 3 | Wawi::Application.routes.draw do match":controller(/:action(/:id(.:format)))" end |
请告诉我是否需要更多代码。
耙道:
/:controller(/:action(/:id(。:format)))
(和警告:循环参数引用)
也许是另一个有用的提示:该操作是应用程序控制器的一部分。
多亏了一位同事,我找到了解决方案:
在application_controller.rb中,必须将
您是否在URL帮助器中的对象上调用Object#to_i?可能是对象为nil,而nil.to_i始终为0。还要注意,rails主ID从1开始。
因此,您应该尝试运行耙路径:
1 | ruby bundle exec rake routes |
运行该命令后,您应该会根据您的路由文件看到可用的URL列表。