我正在尝试创建一个用户选择日期和来源的过滤器表单。问题是在单击提交按钮后,在新页面中我看到输入值为空。有没有办法让表格记住它的价值?感谢。
<%= form_tag products_path, :method => 'get' do %>
<%= text_field_tag :from %>
<%= text_field_tag :to %>
<% Source.all.each do |source| %>
<%= check_box_tag "sources[]", source.id %>
<%= source.name %><br />
<% end %>
<%= submit_tag "Submit", :name => nil %>
<% end %>
控制器
def index
@from = params[:from] ? params[:from].to_datetime : (Time.now-3.day)
@to = params[:to] ? params[:to].to_datetime : (Time.now)
@sources = params[:sources] ? params[:sources] : 1..6
@products = Product.where(:source_id => @sources, :created_at => @from.beginning_of_day..@to.end_of_day)
end
答案 0 :(得分:2)
你不能使用这些标签中的值和选中的选项吗?这是一个例子:
<%= form_tag products_path, :method => 'get' do %>
<%= text_field_tag :from, @from %>
<%= text_field_tag :to, @to %>
<% Source.all.each do |source| %>
<%= check_box_tag "sources[]", source.id, @sources.include?( source.id ) %>
<%= source.name %><br />
<% end %>
<%= submit_tag "Submit", :name => nil %>
<% end %>