- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
重写
我有 2 个模型。应用程序和对话。一个应用包含多个对话
resources :apps do
resources :conversations
end
我有一个 View ,上面有 2 个表单,使用标签表单。第一种形式用于更新应用程序模型。另一个用于创建或更新对话。
我遇到的问题是,当我使用 form_for 标记时,生成的 html 不会生成 _method 输入。
EG对话形式。
<form accept-charset="UTF-8" action="/apps/50c87614e976a31149000009/conversations" class="new_conversation ng-pristine ng-valid" id="new_conversation" method="post">
<div style="margin:0;padding:0;display:inline">
<input name="utf8" type="hidden" value="✓">
<input name="authenticity_token" type="hidden" value="RqwwgBb737uuwg3PgRS+z0qlOP1aDqWe+2hrEeU0KHk=">
</div>
申请表
<form accept-charset="UTF-8" action="/apps/50c87614e976a31149000009" class="edit_app ng-pristine ng-valid" enctype="multipart/form-data" id="edit_app_50c87614e976a31149000009" method="post">
<div style="margin:0;padding:0;display:inline">
<input name="utf8" type="hidden" value="✓">
<input name="_method" type="hidden" value="put">
<input name="authenticity_token" type="hidden" value="RqwwgBb737uuwg3PgRS+z0qlOP1aDqWe+2hrEeU0KHk="></div>
现在让我们只关注对话模型,因为这是有问题的模型。
从上面的 html 中,您会期望 Conversation 表单应该发送一个 post 请求。不幸的是,当 Rails 应用收到它时,它被视为一个放置请求。
查看 form_for 的文档,我知道 form_for 应该设置一个名为 _method 的隐藏输入字段。
如果您查看 Conversation 表单并将其与 App 表单进行比较,您会发现该 session 没有 _method 属性。我无法确定这是为什么。
有没有人知道为什么这会被忽略?或者为什么当我提交对话表单时,发送的是一个 puts 而不是一个 post?
最佳答案
Rails 实现了一个 HTTP put as post 表单,带有一个名为 _method
的隐藏输入,其值为 put
。您应该会在作为 PUT 请求处理的表单中看到隐藏的输入。
form_for
将在为其创建表单的对象已经存在时生成一个放置表单。
关于html - 页面上的多个 form_fors 导致 _method 属性出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13971450/
一直在看一本PHP5的书,作者常用这种语法 ${"{$something}_somethingelse"}; 我不知道那是什么意思。它是否动态生成变量名? 有人帮帮我吗? 最佳答案 它是一种名为 Va
我相信我的编译器选项发生了一些非常奇怪的事情。当我编译class.c时,它编译时没有错误。但是,当我尝试创建 .dll 时,出现许多错误: undefined reference to '_metho
已经为我的 tkinter GUI 创建了一个可执行文件,但是在尝试运行它时显示以下错误:from.import_methods ImportError:无法导入名称“_methods”window上
重写 我有 2 个模型。应用程序和对话。一个应用包含多个对话 resources :apps do resources :conversations end 我有一个 View ,上面有 2
我希望在这里得到一些澄清(Python 新手)。所以我试图调出一个大的 VLAN,然后根据某些标准将该 VLAN 分成几个较小的子网。 在查看所有类方法时,我看到一个名为 _prefixlen 的方法
我正在使用 ASP.NET MVC 构建一个 RESTful Web 应用程序,我计划通过 POST 传送 PUT 和 DELETE 请求,因为这似乎是最实用的解决方法。 我想知道的是,我是否应该像这
有没有一种简单的方法可以让 yesod 在具有特殊参数时将 POST 请求读取为 PUT 或 DELETE:_method=DELETE?并用它渲染表单? 最佳答案 Yesod 使用 methodOv
这是我一直想知道的一种一般性调查。我通过其他人的代码注意到了很多这种情况,但从来没有真正知道真正的原因,只是跟随趋势,所以这里。 为什么有些方法和属性的名称前加下划线,而有些则没有?例如,具体什么时候
我用过 this guide作为从头开始创建消息传递系统的起点。 一切正常。但出于某种原因,每当我现在尝试通过在我的 View 中单击以下链接来创建新对话时 我遇到错误: found unpermi
我最近将 CakePHP 项目更新到了 2.4.5。 现在,某些表单设置输入隐藏 = PUT。但是,方法是POST。 我不知道为什么会这样。 这是表格: Form->create('User',
简单描述: 使用 rails --api , 期望 rails 路由为 PUT方法来自 POST and params[:_method]='put' , 但路由为 POST 给出: rails 4.
所以,我刚刚将 multer 和 cloudinary 添加到我的项目中。每当我使用我的表单向数据库添加一些内容时。它给出了这个错误“ForbiddenError:无效的 csrf token ” 但
您好,我尝试使用 matlab 中的 urlread2 函数向 REST API 发送请求。一般来说,这确实已经有效,但对于一个特定的 API 调用,API 中有一个记录在案的错误:通常我会使用 HT
exe 使用 cx-freeze 成功构建。但是当我执行 exe 文件时它显示以下错误: from . import _methods ImportError: cannot import name
我的 jest+enzyme mount() 测试遇到了问题。我正在测试一个功能,它可以切换显示组件。 在组件之间切换:当 state.infoDisplayContent = 'mission' 挂
如果我想提出更新请求,那么我必须使用? {{ method_field('PUT') }} 或者 最佳答案 https://laravel.com/docs/5.4/routing#form-met
我是一名优秀的程序员,十分优秀!