Ruby on rails RubyonRails 4.0.0 |路由更改自RubyonRails 3.0

Ruby on rails RubyonRails 4.0.0 |路由更改自RubyonRails 3.0,ruby-on-rails,ruby,ruby-on-rails-3,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 3,Ruby On Rails 4,因此,我一直在看一个向我介绍ruby on rails的视频,但视频中的那个家伙正在使用ruby on rails 3(我正在使用ruby on rails 4.0.0),当我尝试使用代码时: 匹配“:控制器(/:操作(/:id(:格式))” 它否认它,并显示此 如果未指定HTTP方法,则不应在路由器中使用match方法。 如果要将操作同时公开给GET和POST,请通过:[:GET,:POST]选项添加。 如果要公开要获取的操作,请在路由器中使用GET: 然而,我不太明白它在这里问我什么,我什么

因此,我一直在看一个向我介绍ruby on rails的视频,但视频中的那个家伙正在使用ruby on rails 3(我正在使用ruby on rails 4.0.0),当我尝试使用代码时:

匹配“:控制器(/:操作(/:id(:格式))”

它否认它,并显示此

如果未指定HTTP方法,则不应在路由器中使用
match
方法。 如果要将操作同时公开给GET和POST,请通过:[:GET,:POST]选项添加
。
如果要公开要获取的操作,请在路由器中使用
GET

然而,我不太明白它在这里问我什么,我什么时候把它放在路由文件中

将“新”匹配到:“剧集#新”,通过:[:获取,:发布]

它实际上找不到我要找的页面。有人知道我应该打什么而不是什么吗

匹配:RubyonRails 4.0.0的控制器(/:操作(/:id(:格式)))


谢谢。

将“/new”匹配到:'剧集#new',通过:[:get,:post]

我想你忘了一个“/”。顺便说一句,这将有助于更详细地说明“找不到”的页面。有错误信息吗

为了理解为什么应该为路由指定HTTP方法:


这是您问题的解决方案:

match ':controller(/:action(/:id))(.:format)' , via: [:post, :get]
适用于rails 3.0,但对于4.0,缺少的链接是rails命令行中指示的
via:[:post,:get]
语句

match ':controller(/:action(/:id))(.:format)' , via: [:post, :get]
在每次生成页面时都不重新编辑routes文件夹,这非常有效,可以保持代码干燥

获取“新”,到:'剧集#新',通过以下方式:[:获取,:发布]
match ':controller(/:action(/:id))(.:format)' , via: [:post, :get]