在Rails 2中开发应用程序。
我是来自数据库值的generating CSV
文件。获取emails of users
并生成CSV,但请写emails in one column instead of Row.
我尝试了很多,但没有找到任何解决方案。
controller file
@users = User.all
tempArr = []
@users.each do |u|
tempArr << u.email
end
respond_to do |format|
format.csv {
send_data tempArr.to_csv, :type => "text/csv", :filename => "usercsv.csv"
}
end
a@gmail.com b@gmail.com c@gmail.com
a@gmail.com
b@gmail.com
c@gmail.com
任何人都有一个想法或技巧要进行排序。
提前致谢
答案 0 :(得分:0)
User
模型中的
def self.to_csv(options = {})
CSV.generate(options) do |csv|
all.each do |user|
csv << user.email
end
end
end
并且在控制器中你可以使用它
send_data @users.to_csv, :type => "text/csv", :filename => "usercsv.csv"
其中@users = User.all
或其他
<强> EDITED 强>
你的行动应该是
@users = User.all
respond_to do |format|
format.csv {
send_data @users.to_csv, :type => "text/csv", :filename => "usercsv.csv"
}
end
已编辑2
添加到config/application.rb
或仅添加到模型
require 'csv'