Rails 4 不改变 post 方法来修补

2023-11-29

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

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

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

路线.rb

patch 'classrooms/:id/update' => "classrooms#update", as: :update_classroom
resources :classrooms, except: :update

从导轨端部形成

<%= form_for(update_classroom_path(@classroom), method: "patch") do |class_f| %>

浏览器中的表单

<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="******">

耙路线

        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)             classrooms#destroy
            root GET    /                                     pages#start

只是为了回答你的标题问题,我认为你的表单方法确实是“PATCH”。请参阅指南http://guides.rubyonrails.org/form_helpers.html关于 Rails 如何制作补丁形式。

Rails 框架鼓励应用程序采用 RESTful 设计,这意味着您将发出大量“PATCH”和“DELETE”请求(除了“GET”和“POST”)。然而,在提交表单时,大多数浏览器不支持“GET”和“POST”以外的方法。

Rails 通过使用名为“_method”的隐藏输入来模拟 POST 上的其他方法来解决此问题,该输入被设置为反映所需的方法:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails 4 不改变 post 方法来修补 的相关文章

  • 提交表单后关闭featherlight

    我有一个 demo employee php 页面 它检索系统的所有用户以及可以执行的特定操作 td table tr td a href i class fa fa pencil square o i a td td a href i c
  • 以表格形式连续调用/评估?

    大家好 简单的问题 使用 XLISP 编写程序 但我似乎遇到了一个我似乎无法解决的简单基本问题 也许有人有一个快速解决方案 我正在尝试编写一个 if 语句 该语句的 then 子句评估多种形式并返回最后一种形式的值 在示例中 setq PO
  • Rails redirect_to 页面部分

    对于正常的重定向 它会是这样的redirect to root path 我如何重定向到类似的内容 localhost 3000 contact 我不仅想重定向到根 还想重定向到根 还想重定向到根页面的联系部分 这可能吗 这应该有效 red
  • 如何修复 Django 应用程序的评论视图中的此错误?

    我正在尝试用 Django 开发一个应用程序 目前 我正在尝试创建一个评论部分 供用户使用表单撰写和提交评论 我制作了一个模板 显示电影的信息以及用户可以对电影发表评论的表单 问题是 当我编写评论并尝试提交时 会出现此错误 myapp2 2
  • 使用 javascript 而非 jQuery 的简单 ajax 表单

    我正在使用一个表单 其标记我无法更改且无法使用 jQuery 目前 该表单将结果发布到新窗口 是否可以将其更改为 ajax 表单 以便在提交时显示结果而不更改任何标记 将结果 标记 从结果页面拉回到表单页面 这是表单的标记
  • 分别对用户和管理员进行身份验证

    class ApplicationController lt ActionController Base protect from forgery skip before filter authenticate user only gt w
  • Rails f.check_box 设置选中/未选中值

    所以我在 Rails 中得到了一个带有复选框的表单助手 我希望该复选框在选中或取消选中时具有 thatvalue 或 thisvalue 值 我还没有找到如何设置它的地方 f check box field 我发现了类似的东西 但它不起作用
  • 在 Rails 4 中渲染部分/rake 任务/后台作业/模型中的视图

    我读过很多关于在 rake 任务 后台作业 模型中渲染 Rails 部分和视图的内容 我在 Stackoverflow 和网络上找到的绝大多数内容都描述了在 Rails 3 中工作的方法 但它们似乎已经过时了 而且我没有让它们工作 即使花了
  • 从mvc url中隐藏一个控制器名称,显示其他控制器名称

    我有两个控制器 HomeController 和 ResourcesController 当请求对 HomeController 执行操作时 我想从 url 中隐藏 Home 但对于 ResourcesController 或任何其他 co
  • JavaScript 表单提交 - 确认或取消提交对话框

    对于带有询问字段是否填写正确的警报的简单表单 我需要一个执行此操作的函数 单击按钮时显示警告框 有两个选项 如果单击 确定 则提交表单 如果单击 取消 警报框将关闭 并且可以调整并重新提交表单 我认为 JavaScript 确认可以工作 但
  • Rails:渲染不起作用,仍然出现“模板丢失”

    我目前正在学习 Rails 指南 我完成了这些步骤 但仍然遇到错误 我的 Ruby 版本是ruby 2 1 1p76Rails 版本是4 0 4 按照指南的指示 我创建了一个Article Controller class Articles
  • 通过删除空 GET 变量并简化变量名称来缩短 URL

    我正在开发一个网站 在提交后组成一个 URLGET form 表单值作为一组变量传递 其中必须至少定义一个变量才能在数据库上进行搜索 我想将网址缩短为删除空表单元素并使其更加用户友好简化变量名称 目前 URL 如下所示 只是带有更多变量 我
  • 将属性标记中的值提交到操作表单

    The JSP
  • Angular7:NullInjectorError:没有 FormGroup 的提供者

    我真的很沮丧 因为我不知道发生了什么 今天早上一切正常 就在我进行一些更改以将 ReactiveForm 中的 2 个表单合并在一起之前 现在我在浏览器中收到以下错误 错误 StaticInjectorError AppModule For
  • 如何为名称为数组的 jquery 表单验证插件创建规则?

    有谁知道当您有一个数组的名称属性时如何为 jquery 表单验证插件创建规则 eg
  • 在 Rails 中呈现路由错误的 404 页面

    我试图在 Rails 中渲染集成的 404 页面作为例外 我尝试了这个 但仍然收到路由错误页面 posts controller rb def destroy if current user username post email post
  • 创建费用前验证 CVC 代码

    我正在尝试检查用户输入的 cvc 代码 我已经存储了条带 customer id 和条带 card id 我想在向用户收费之前验证 CVC 代码 以下是创建费用的代码 charge Stripe Charge create amount g
  • 通过 jQuery 从输入类型=“文件”多个中删除文件

    我在使用 PHP 和 jQuery 上传文件时遇到问题 表单可以一次上传多个图像 这些图像可以在滑块中预览 表单还包含两个字段标题和描述 滑块通过 jQuery 工作 当用户通过单击选择文件来选择多个图像时
  • PHP 如何判断用户是否按下了 Enter 键或 Submit 按钮?

    我遇到的问题是我在一个表单中有多个提交输入 每个提交输入都有不同的值 我更愿意将它们保留为提交 Whenever the user presses Enter it is as though the topmost submit input
  • Rails 4.1 环境变量未重新加载

    我创建了一个application yml文件在配置目录中并添加了一些键值对 即AWS REGION us east 1 我还添加了以下内容application rb读取文件并更新 ENV 哈希 if Rails env developm

随机推荐