undefined方法'patch' - 路由错误

时间:2013-02-02 05:08:22

标签: ruby-on-rails

我是Rails& amp;的初学者MVC开发,需要以下帮助:

我在http://edgeguides.rubyonrails.org/getting_started.html

中进行示例

在“5.12更新帖子”中,我们被要求将以下内容添加到config / routes.rb中:

patch "posts/:id" => "posts#update"

如果我这样做,并运行rake routes,我收到以下错误:

undefined method `patch' for #<ActionDispatch::Routing::Mapper:0x390f078>

当我去 - http://localhost:3000/posts/1

时,我收到同样的错误

这是edit.html.erb中的一行:

<%= form_for :post, url: { action: :update, id: @post.id }, method: :patch do |f| %>

我有Rails 3.2.1。

环境:

我在Windows 7中这样做。我通过railsinstaller.org安装了Rails。浏览器 - Chrome,Firefox

2 个答案:

答案 0 :(得分:3)

patch仅适用于Rails master分支。

除此之外,您需要指向Gemfile中的git仓库,以便在已有项目中使用边缘轨道。

gem 'rails', :git => 'git://github.com/rails/rails.git'

现在您应该使用PUT代替PATCH。即使4.0出现,PUT也不会去任何地方。

答案 1 :(得分:1)

fwiw,我向Rails 3.2 https://gist.github.com/bf4/8940203

移植了HTTP PATCH动词。