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