【发布时间】:2017-11-13 15:50:03
【问题描述】:
我正在尝试制作一个简单的搜索表单来过滤我的资源列表。我已经制作了这样的表单,但它没有像我期望的 method: :get 那样将 q 作为查询参数放在 url 中
<%= form_for @conn, post_path(@conn, :index), [as: :search, method: :get], fn f -> %>
<%= text_input f, :q, placeholder: "Search by title, content, etc." %>
<% end %>
当我以“term”作为搜索词提交此表单时,它会导致 search%5Bq%5D=term 被放置在 url 中(q 字段名称的 url 编码版本。)我预计只是 q=term .我的期望不正确吗?做一个简单的搜索表单的正确方法是什么?
【问题讨论】:
-
您可以使用不会为您生成输入名称的hexdocs.pm/phoenix_html/Phoenix.HTML.Tag.html#form_tag/2,也可以简单地覆盖
text_inputname 属性,将其设置为q -
太棒了,这也有效。不过我决定升级到phoenix_html 2.10.5。