使用表单输入而不更新模型Ruby on Rails

时间:2014-01-26 01:33:54

标签: ruby-on-rails ruby-on-rails-4 form-for

我想在我的一个页面上放一个表单,但不想使用form_for来更新模型。我基本上像过滤/搜索系统一样使用它,用户输入内容,页面根据用户输入的内容而变化。我知道这是一个非常简单的问题,但我对Rails也有点新意。

注意:如果我可以获取输入值,我可以过滤结果。我只需要访问Controller中的输入值。

2 个答案:

答案 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 %>