小编Tas*_*ows的帖子

Rails 4 不会改变 post 方法来打补丁

我正在尝试提交表单,但如果我只是提交,form_for @classroom我会收到“没有路由匹配 [POST]”错误。

现在使用下面发布的代码,我在表单中得到了错误的 url。如果我在浏览器中手动更改 url,我想我可以通过 javascript 来做到这一点,但是......为什么......这是......这......发生......?

直到昨天一切正常。我什至尝试回滚到我更改的内容,但我似乎无法跟踪出了什么问题。

路由文件

patch 'classrooms/:id/update' => "classrooms#update", as: :update_classroom
resources :classrooms, except: :update
Run Code Online (Sandbox Code Playgroud)

从导轨端形成

<%= form_for(update_classroom_path(@classroom), method: "patch") do |class_f| %>
Run Code Online (Sandbox Code Playgroud)

浏览器中的表单

<form action="/classrooms/23/edit" accept-charset="UTF-8" method="post">
<input name="utf8" type="hidden" value="?">
<input type="hidden" name="_method" value="patch">
<input type="hidden" name="authenticity_token" value="******">
Run Code Online (Sandbox Code Playgroud)

耙路线

        absences POST   /absences(.:format)                   absences#create
                 POST   /classrooms/:id/getAbsences(.:format) classrooms#getAbsences
update_classroom PATCH  /classrooms/:id/update(.:format)      classrooms#update
      classrooms GET    /classrooms(.:format)                 classrooms#index
                 POST   /classrooms(.:format)                 classrooms#create
   new_classroom GET    /classrooms/new(.:format)             classrooms#new
  edit_classroom GET    /classrooms/:id/edit(.:format)        classrooms#edit
       classroom GET    /classrooms/:id(.:format)             classrooms#show
                 DELETE /classrooms/:id(.:format) …
Run Code Online (Sandbox Code Playgroud)

forms url-routing http-post ruby-on-rails-4

3
推荐指数
1
解决办法
2980
查看次数

标签 统计

forms ×1

http-post ×1

ruby-on-rails-4 ×1

url-routing ×1