Ruby on rails 直接下载csv文件而不将其写入目录
我在ruby 1.8.7中使用rails 2.3.14,我想下载一个csv文件,而不将其写入任何目录 我的代码:Ruby on rails 直接下载csv文件而不将其写入目录,ruby-on-rails,csv,Ruby On Rails,Csv,我在ruby 1.8.7中使用rails 2.3.14,我想下载一个csv文件,而不将其写入任何目录 我的代码: def export @news = News.find(:all, :conditions => ["updated_at >= ? and news_source_id != 1 and ready = 1", 1.week.ago]) file_name = "Non_linksv_news_#{1.week.ago.strftime('%b-%
def export
@news = News.find(:all, :conditions => ["updated_at >= ? and news_source_id != 1 and ready = 1", 1.week.ago])
file_name = "Non_linksv_news_#{1.week.ago.strftime('%b-%d-%Y')}_to_#{Time.now.strftime('%b-%d-%Y')}.csv"
File.open(file_name, "w") do |file|
file_name << %w(Source Headline).to_csv
@news.each { |news| file_name << [news.news_source.name, news.news_headline].to_csv }
end
send_file file_name
end
def导出
@news=news.find(:all,:conditions=>[“updated\u at>=?and news\u source\u id!=1且ready=1”,1.周前])
file_name=“Non_linksv_news_35;{1.week.ago.strftime('%b-%d-%Y')}}}到35;{Time.now.strftime('%b-%d-%Y')}.csv”
打开(文件名,“w”)do |文件|
文件名我们使用这种方法
def export
output = [["Source", "Headline"]]
@news.each do |a_new|
output << [a_new,news_source.name.to_s, a_new.news_headline.to_s]
end
respond_to do |format|
format.csv {
send_data output.to_csv, :type => "text/csv", :filename => "My news csv.csv"
}
end
end
def导出
输出=[[“来源”,“标题”]]
@新闻。每一个都是新的
输出“text/csv”,:filename=>“我的新闻csv.csv”
}
结束
结束
已解决
def export
ns = NewsSource.find_by_name 'Linksv', :select => :id
@news = News.find(:all, :conditions => ["updated_at >= ? and news_source_id != ? and ready = 1", 1.week.ago, ns.id])
file_name = "linksv_news_#{1.week.ago.strftime('%b-%d-%Y')}_to_#{Time.now.strftime('%b-%d-%Y')}.csv"
csv = %w(Source Headline).to_csv
@news.each { |news| csv << [news.news_source.name, news.news_headline].to_csv }
send_data csv, :filename => file_name, :type => "text/csv"
end
def导出
ns=newsource.find_by_name'Linksv',:select=>:id
@news=news.find(:all,:conditions=>[“updated\u at>=?and news\u source\u id!=?and ready=1”,1.week.ago,ns.id])
file_name=“linksv_news_35;{1.week.ago.strftime('%b-%d-%Y')}}{Time.now.strftime('%b-%d-%Y')}.csv”
csv=%w(源标题)。至\u csv
@news.each{| news | csv文件名:type=>“text/csv”
结束
它将以正确的方式生成csv文件,包含行和列谢谢回复,但它会以单行形式向我显示所有内容,但我需要它,就像表格cols和rowsIsnt一样添加它\n?请给我一个输出示例