2011-07-20 21 views
1

ユーザーが日付とソースを選択するフィルタフォームを作成しようとしています。問題は、送信ボタンをクリックした後、新しいページで私は入力値が空であることがわかります。フォームにその値を記憶させる方法はありますか?ありがとう。フォームタグの入力値を記憶する

<%= 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 => @[email protected]_of_day) 

end 

答えて

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 %> 
+0

ありがとうございます。わかった。 – rOrman

関連する問題