ruby-on-rails - Rails 5.1中的form_with搜索字段

标签 ruby-on-rails ruby-on-rails-5 ruby-on-rails-5.1

在Rails 5.1中,所有表单都必须使用form_with完成。在http://edgeguides.rubyonrails.org/5_1_release_notes.html#unification-of-form-for-and-form-tag-into-form-with中,我只能找到与模型相关的表单的示例。

在Rails 5.1中使用form_with完成此Rails 5.0表单的正确方法是什么?

<%= form_tag("/search", method: "get") do %>
  <%= label_tag(:q, "Search for:") %>
  <%= text_field_tag(:q) %>
  <%= submit_tag("Search") %>
<% end %>

最佳答案

这是form_with调用,它完全等同于问题中的form_tag调用:

<%= form_with url: '/search', method: :get, local: true do |f| %>
  <%= f.label :q, "Search for:" %>
  <%= f.text_field :q, id: :q %>
  <%= f.submit "Search" %>
<% end %>

请注意,默认情况下form_with是通过XHR(也称为remote: true)发送的,您必须添加local: true以使其表现得像form_tag的默认remote: false

rails guidesAPI docsthis github issue discussion中查看有关它的更多信息。

关于ruby-on-rails - Rails 5.1中的form_with搜索字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43013354/

相关文章:

ruby-on-rails - 具有多对多关联的模型的计数器缓存

ruby-on-rails - 查询期间 Rails 空白列名称

ruby-on-rails - 多表排序

deprecation-warning - Rails 5.1.1 弃用警告 changed_attributes

ruby-on-rails - Rails 5.1.1 不生成脚手架/ Controller 等

ruby-on-rails - 无法安装 curl gem

ruby-on-rails - capybara poltergeist 点击不起作用

sql - Rails .where() 查询不工作

ruby-on-rails - RSpec 3.5 将参数传递给 shared_context

ruby-on-rails - Rails 5 API - 作为异常(exception),如何在特定 Controller 上使用 HTML 进行响应?