【发布时间】:2015-06-25 10:35:17
【问题描述】:
我想使用 Rails 3.2 将所有数据库条目导出到 csv 中。我一直在关注these 的指示:
我的控制器: 编辑:我已从类方法更改为实例方法
...
elsif params[:reference] == 'exportnews'
@data = News.find(:all, :order => "date_posted desc", :conditions => "#{Settings.show} = 1", :limit => "5")
respond_to do |format|
format.html { redirect_to root_url }
format.csv { send_data @data.to_csv }
end
else
...
我的模特:
class News < ActiveRecord::Base
attr_accessible :content, :date_posted, :heading, :hidden, :reference, :title, :user
def to_csv(options = {})
CSV.generate(options) do |csv|
csv << column_names
all.each do |product|
csv << product.attributes.values_at(*column_names).map(&:to_csv)
end
end
end
end
然而,当我访问指定的 url 时(我在 config/routes.rb 创建了一个路由,我得到一个包含以下详细信息的 csv 文件:
#<News:0x007fef657d69f8> #<News:0x007fef632b95a8> #<News:0x007fef632b8ec8> #<News:0x007fef632b8680> #<News:0x007fef632b7e38>
我错过了什么?
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 csv