我想在我的一个页面上放一个表单,但不想使用form_for来更新模型。我基本上像过滤/搜索系统一样使用它,用户输入内容,页面根据用户输入的内容而变化。我知道这是一个非常简单的问题,但我对Rails也有点新意。
注意:如果我可以获取输入值,我可以过滤结果。我只需要访问Controller中的输入值。
答案 0 :(得分:1)
只需使用符号作为参数的form_for
而不是实例变量。
您可以通过引用您的参数来访问控制器中的表单数据,就像您通常那样。假设你有一个像这样的表格:
<%= form_for :search do |f| %>
<%= f.text_field :query %>
<%= f.submit %>
<% end %>
然后,您可以通过调用控制器中的params[:search][:query]
来获取搜索表单的内容。
http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#method-i-form_for
答案 1 :(得分:0)
您需要meta_search
<%= form_for @search, :url => articles_path, :html => {:method => :get} do |f| %>
<%= f.label :title_contains %>
<%= f.text_field :title_contains %><br />
<%= f.label :comments_created_at_greater_than, 'With comments after' %>
<%= f.datetime_select :comments_created_at_greater_than, :include_blank => true %><br />
<!-- etc... -->
<%= f.submit %>
<% end %>