我正在尝试设计一个允许访问该网站的任何人下载excel文件的网站。 excel文件只存储我想公开发布的数据。我在轨道上使用ruby,并想知道是否有一种简单的方法来存储我的Excel电子表格(可能在资源文件夹中?)并在我的网页上创建一个链接,点击后下载电子表格。 谢谢!
答案 0 :(得分:1)
您可以使用CSV导出(与Excel一起使用),因为Ruby在软件中具有良好实现的CSV功能。
class UsersController < ApplicationController
def index
@users = User.all
respond_to do |format|
format.html
format.csv { send_data @users.to_csv, filename: "users-#{Date.today}.csv" }
end
end
end
此外,您必须在config / application.rb中使用require
:
require 'csv'
require 'rails/all' # Or something resembling to this.
在您的模型中,将其添加到其中:
class User < ActiveRecord::Base
def self.to_csv
attributes = %w{id email name}
CSV.generate(headers: true) do |csv|
csv << attributes
all.each do |user|
csv << attributes.map{ |attr| user.send(attr) }
end
end
end
def name
"#{first_name} #{last_name}"
end
end
答案 1 :(得分:0)
我通过查看相关帖子弄明白了: How to give the xls file link in Ruby on Rails? 并查看了hernanvicente的答案