标签: form-with

Rails 7:使用 form_with 表单的本地(非 XHR)请求

在 Rails 7 中,使用标签生成的表单form_with默认发送远程请求(turbo.js 处理表单提交事件,无论如何)。

以前,人们会将remote: falselocal: true参数传递给表单助手,以获得常规的 HTML 表单行为。

但现在不行了,这不起作用:

<%= form_with scope: :session, url: session_path, local: true do |form| %>
  <p><%= form.label :email %></p>
  <p><%= form.text_field :email %></p>

  <p class="mt"><%= form.label :password %></p>
  <p><%= form.password_field :password %></p>

  <p class="mt"><%= form.submit "Enter" %></p>
<% end %>
Run Code Online (Sandbox Code Playgroud)

我应该将什么选项传递给 form_with helper 才能从我的表单获取非 XHR 请求?

ruby-on-rails actionview form-with ruby-on-rails-7

9
推荐指数
1
解决办法
3713
查看次数

更改“请符合要求的格式”。到别的东西?

有没有一种简单的方法来自定义当参数pattern: "([A-Za-z0-9\-\_]+)"不满足并且出现此消息时出现的消息:

> 请符合要求的格式

例如

<%= f.text_field :username, pattern: "([A-Za-z0-9\-\_]+)" %>
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails form-for ruby-on-rails-6 form-with

3
推荐指数
2
解决办法
5077
查看次数

如何给form_with添加隐藏字段?

我正在尝试将隐藏字段添加到form_with.

以下是 3 次尝试(以及结果/错误消息)

第一次尝试

来自: https: //guides.rubyonrails.org/form_helpers.html

<%= hide_field_tag(:parent_id, "5") %>

所以我尝试:

<%= form_with(model: @message, method: :post) do |f| %> 
<%= f.label :body %> 
<%= f.text_area :body %> 
<%= f.hidden_field_tag :user_id, current_user.id %>
<%= f.submit "Send", class: "btn btn-primary" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

第二次尝试

来自: https: //api.rubyonrails.org/v6.0.3/classes/ActionView/Helpers/FormHelper.html#method-i-hidden_ ​​field

示例:hidden_​​field(:signup, :pass_confirm)

所以我尝试

<%= f.label :body %> 
<%= f.text_area :body %> 
<%= f.hidden_field :user_id, current_user.id %>
<%= f.submit "Send", class: "btn btn-primary" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

第三次尝试

这比其他两次尝试更进一步,因为至少显示视图加载而不是出错。 …

ruby-on-rails ruby-on-rails-6 form-with

2
推荐指数
1
解决办法
2824
查看次数