いつもお世話になります。
現在、Railsでページを作成しており、データベースのcsvダウンロード機能を付けております。そのページでデータベースを日付の範囲(2016/5/5/ ~ 2017/6/7のような形)で絞って再表示できるようにしております(その際パラメータに2016、5などといった値を入れています)。このときに用いているパラメータを下記のindex.csv.erb部分に渡したいのですがうまいくきません。
ネットで調べてみるとlink_toで渡す場合にxxxxx_pathのような形しか見かけず、下記用に'/user/index.csv'のように直で指定している場合はパラメータを送ることができないのでしょうか。
ご教示のほどお願いいたします。
csvダウンロード
Ruby
1 2# index.csv.erb 3 4require 'kconv' 5 6# この部分にパラメータを渡しその値を使ってデータベースを絞る 7@maildbs = Maildb.where( パラメータを使って条件を絞る ) 8 9columns = [:date, :time, :xxxx, :xxxx] 10res = "" 11res << columns.map{|c| Maildb.human_attribute_name c }.join(',')+"\r" # header 12@maildbs.pluck(*columns).each do |u| 13 res << u.join(',')+"\r" # body 14end 15res.tosjis 16 17 18 19 20 21 22# index.html 23 24<%= link_to 'csv download', '/user/index.csv' %> 25 ↑ 26 この書き方の場合のパラメータ付与方法を知りたい 27 28 29 30 31 32# user_controller.rb 33 34def index 35 respond_to do |format| 36 format.html 37 format.csv do 38 filename = 'users' 39 headers['Content-Disposition'] = "attachment; filename=\"#{filename}.csv\"" 40 end 41 end 42 end 43
回答1件
あなたの回答
tips
プレビュー