如何将文本输入作为参数的一部分传递到表单中?

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]ArticlesControllersearch 方法的表单应该是什么样的?我一直在尝试这个的变体,但无法让它工作:

<%= 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