Ruby on rails 为什么提交使用form_标签而不使用form_标签?
我有一个与gem pg_搜索相关联的form_标记表单,该表单与一个form_标记一起工作,如下所示,目前在纯html中不使用ajax,但是当我尝试以与表单_相同的方式工作时,提交没有通过。 你知道为什么吗?Ruby on rails 为什么提交使用form_标签而不使用form_标签?,ruby-on-rails,Ruby On Rails,我有一个与gem pg_搜索相关联的form_标记表单,该表单与一个form_标记一起工作,如下所示,目前在纯html中不使用ajax,但是当我尝试以与表单_相同的方式工作时,提交没有通过。 你知道为什么吗? 顺便问一下,您是否知道帮助器“url:search\u path”的form\u标记中的等价物,它是以表单\u注释的? 多谢各位 1. Le form_tag <%= form_tag new_product_association_path, method: :get do %&
顺便问一下,您是否知道帮助器“url:search\u path”的form\u标记中的等价物,它是以表单\u注释的? 多谢各位
1. Le form_tag
<%= form_tag new_product_association_path, method: :get do %>
<%= text_field_tag :query, params[:query], id: "text_field", class: "form-control", placeholder: "Find a product" %>
<%= submit_tag "Search", class: "btn btn-primary", id: "submit-search"%>
<% end %>
2. le form_for
<%= form_for product_associations_url, as: :get do |f| %>
<%= f.text_field params[:query], id: "text_field" %>
<%= f.submit "Search", class: "btn btn-primary", id: "submit-search" %>
<% end %>
1。表格标签
2.表格
Rails提供了几种为表单创建HTML的方法
form\u tag
:这将以最原始的形式生成HTML。您可以指定各种属性,生成的表单没有Rails魔法form\u for
:这是一种创建与资源(例如产品)关联的表单的方法。必须传入要创建/更新的对象。因此,您为编写表单的方式是不正确的。还有一个问题(打字错误)不是使用作为指定方法,而是应该使用方法
表单_的基本用法:
在控制器中:
@product=product.new
在以下观点中:
<%= form_for @product do |f| %>
...
<% end %>
...
问题可能是帮助程序希望记录作为其第一个参数,而不是URL。我建议切换到允许URL使用的位置
而且这个用法也是无效的。您仍应提供输入字段的名称(:query
)
<%= form_with url: product_associations_url, as: :get do |f| %>
<%= f.text_field :query, value: params[:query], id: "text_field" %>
...
<% end %>
...
示例用法也可以在.“您知道在表单中注释的助手“url:search\u path”的表单标记中的等效项吗?”签名是form\u标记(url\u for\u options={},options={},&block)
。因此,它是第一个序数参数,可以是字符串,也可以是传递给
的url\u的散列。你在这里问的问题也很不清楚-你面临的确切问题是什么,复制它的步骤是什么?如果这个答案不能解决你的问题,我想看看为form_标记
和form_with
helper生成的HTML。