0

这可能是一场野鹅追逐。导轨 5.2,红宝石 2.5

情况1:

  • 使用 rails new --webpack=stimulus
  • rails 生成脚手架事件名称:字符串
  • 将 form_with 编辑为没有 remote:true
  • 将 format.js 添加到控制器
  • 创建一个事件

意外:客户端继续请求html,也就是好像remote:true依然有效

案例二:

  • 在没有 --webpack=stimulus 的情况下使用 rails new
  • rails 生成脚手架事件名称:字符串
  • 将 form_with 编辑为没有 remote:true
  • 将 format.js 添加到控制器
  • 创建一个事件

正如预期的那样,我收到一个错误,因为我没有 create.js.erb

因此,似乎 webpack=stimulus 和 form_with 的远程行为之间可能存在联系。如果没有 --webpack=stimulus Rails 5.2 form_with 的行为与我预期的一样,并且由于某种原因,即使远程 = true,当我“提交”时请求 html 而不是 javascript 时,分派回服务器也是如此。能有联系吗?

4

1 回答 1

0

从 Rails 5.2 开始使用form_with它是默认的remote。如果您想以html格式发布您的表格,您必须指定local: true

来源 http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#method-i-form_with

默认情况下,如果使用不显眼的 JavaScript 驱动程序(如 rails-ujs),form_with 会在后台通过 XMLHTTPRequest 附加提交表单的 data-remote 属性。有关更多信息,请参阅 :local 选项。

要更具体地回答您的问题,Stimulus 和远程表单行为之间没有联系

于 2018-07-21T22:57:43.110 回答