0

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

resources :articles do
  member do
    get :search
  end
end

params[:search]获取search方法的表单应该是什么样的ArticlesController?我一直在尝试这种变化,但无法让它发挥作用:

<%= form_for search_article_path, :method => :get do |f| %>
  <%= f.label :search %>
  <%= f.text_field :search %>

  <%= f.submit :submit %>
<% end %>
4

1 回答 1

1

Rails 提供了一系列帮助器来生成表单元素,例如复选框、文本字段和单选按钮。这些名称以 _tag 结尾的基本助手(例如 text_field_tag 和 check_box_tag)只生成一个<input>元素。这些的第一个参数始终是输入的名称。提交表单时,名称将与表单数据一起传递,并将使用用户为该字段输入的值进入控制器中的 params 散列。例如,如果表单包含<%= text_field_tag(:query) %>,那么您将能够在控制器中使用 获取该字段的值params[:query]

如果您在使用参数时遇到问题,可以查看此视频:https ://gorails.com/episodes/the-params-hash

于 2016-02-22T22:17:27.723 回答