我试图导出新手用户电子邮件地址的CSV文件。在date_select标签中选择的日期之后(基本上是最近的注册),新手都是“created_at”用户。Rails date_select生成csv文件
我使用FasterCSV gem和Scott Becker's code,并借用了here中的@start_date来实现此方法。
这里是我的控制器是什么样子:
def newbs_export
@start_date = Date.civil(params[:range][:"start_date(1i)"].to_i, params[:range][:"start_date(2i)"].to_i, params[:range][:"start_date(3i)"].to_i)
@users = User.find(:all, :if => [@created_at >= @start_date])
csv_string = FasterCSV.generate do |csv|
# header row
csv << ["email"]
# data rows
@users.each do |user|
#if user[:created_at] >= Time.now
csv << [user.email]
end
end
# send it to the browsah
send_data csv_string,
:type => 'text/csv; charset=iso-8859-1; header=present',
:disposition => "attachment; filename=newbs.csv"
end
这里是我的newbs.html.erb:
<% form_tag({:controller => "accounts", :action => "newbs_export"}, :method => "get") do %>
<%= date_select('range', 'start_date', :order => [:month, :day, :year])%>
<%= submit_tag("Submit") %>
<% end %>
我已经混合代码和挖自己有点孔试图缝合不同解决方案。有关我可以从哪里出发的任何建议?
谢谢!
你遇到的错误/问题是什么? –
对不起,约书亚......它正在向我吐出一个NilClass错误。马兰虽然击中了它的头部。欣赏它。 – Galen