我是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
答案 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动词。