如何将文本输入作为参数的一部分传递到表单中?
How can I pass the text input into a form as part of params?
如果我像这样设置我的路线,例如:
resources :articles do
member do
get :search
end
end
从 params[:search]
到 ArticlesController
的 search
方法的表单应该是什么样的?我一直在尝试这个的变体,但无法让它工作:
<%= form_for search_article_path, :method => :get do |f| %>
<%= f.label :search %>
<%= f.text_field :search %>
<%= f.submit :submit %>
<% end %>
Rails 提供了一系列用于生成表单元素(例如复选框、文本字段和单选按钮)的帮助程序。这些名称以 _tag 结尾的基本助手(例如 text_field_tag 和 check_box_tag)仅生成一个 <input>
元素。这些的第一个参数始终是输入的名称。提交表单时,名称将与表单数据一起传递,并将使用用户为该字段输入的值进入控制器中的参数散列。例如,如果表单包含 <%=
text_field_tag(:query) %>
,那么您可以使用 params[:query]
.
在控制器中获取此字段的值
如果您对参数有疑问,可以观看此视频:https://gorails.com/episodes/the-params-hash
如果我像这样设置我的路线,例如:
resources :articles do
member do
get :search
end
end
从 params[:search]
到 ArticlesController
的 search
方法的表单应该是什么样的?我一直在尝试这个的变体,但无法让它工作:
<%= form_for search_article_path, :method => :get do |f| %>
<%= f.label :search %>
<%= f.text_field :search %>
<%= f.submit :submit %>
<% end %>
Rails 提供了一系列用于生成表单元素(例如复选框、文本字段和单选按钮)的帮助程序。这些名称以 _tag 结尾的基本助手(例如 text_field_tag 和 check_box_tag)仅生成一个 <input>
元素。这些的第一个参数始终是输入的名称。提交表单时,名称将与表单数据一起传递,并将使用用户为该字段输入的值进入控制器中的参数散列。例如,如果表单包含 <%=
text_field_tag(:query) %>
,那么您可以使用 params[:query]
.
如果您对参数有疑问,可以观看此视频:https://gorails.com/episodes/the-params-hash