ruby-on-rails 如何将文本输入作为params的一部分传递到表单中?

9lowa7mx  于 2023-02-26  发布在  Ruby
关注(0)|答案(1)|浏览(160)

例如,如果我像这样设置路由:

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

krcsximq1#

Rails提供了一系列用于生成表单元素(如复选框、文本字段和单选按钮)的帮助器。(例如text_field_tag和check_box_tag),只生成一个<input>元素。这些元素的第一个参数总是输入的名称。当表单提交时,名称将与表单数据沿着传递,并且将使用用户为该字段输入的值到达控制器中的params散列。例如,如果表单包含<%= text_field_tag(:query) %>,则可以使用params[:query]获得控制器中该字段的值。
如果你对params有疑问,你可以看看这个视频:https://gorails.com/episodes/the-params-hash

相关问题