我需要能够从 github 或保管箱读取和写入我的 csv 文件

I need to be able to read and write my csv file from github or dropbox

我正在为一家公司制作网页并将其托管在 heroku 上,当我将文件 link 上传到我本地计算机上的 csv 时它可以工作,但是当使用部署版本时它只工作有一段时间,因为它将信息存储在临时 file.It 中,不会在 GitHub 上写入我的 csv。 M 问题是如何使用 ruby 和 Sinatra 写入我的 GitHub 。这是我的一些代码片段。任何帮助都会很棒,因为这就像现在一样

get '/update_csv' do
csv = CSV.read("citywholesale.csv")

erb :update_csv, :locals =>{:csv => csv}
end

get '/upload' do
erb :upload, :locals =>{:message => "Please Enter all the required information."}
end

def newfilename(filename)
if filename.include?("dl=0") && filename.include?("dropbox")
filename.chomp!("dl=0")
filename << "raw=1"
end
filename
end

post '/upload' do

filename = params[:filename]
caption = params[:caption]
validity = params[:validity]
signtype = params[:signtype]
featured = params[:featured]

citywholesale = "citywholesale.csv"
citywholesale = File.open(citywholesale,'a')

 newfilename = newfilename(filename)
 citywholesale.write( newfilename + "," + caption + "," + validity + "," +        signtype + "," + featured + "\r")
 citywholesale.close
 redirect '/update_csv'
 end

post '/edit_upload' do
csv = CSV.read("citywholesale.csv")
csv_row = params[:edit].to_i
row = csv[csv_row]

erb :edit_upload, :locals =>{:id => csv_row, :image => row[0], 
                  :caption => row[1], :active => row[2], :signtype => row[3], :featured => row[4]}

结束

您的意思是您在 GitHub 上有一个存储库,其中包含您必须更新的文件?首先让我说这是一个坏主意,因为 GitHub 是用来托管版本控制代码的。更好的解决方案是将此 CSV 存储在该服务器上或类似 Amazon's S3.

的位置

但是,如果您确信 GitHub 是正确的方法,我认为您可以这样做的唯一方法是使用 GitHub 的 Gists 并使用他们的 API 去做。这是文档:

https://developer.github.com/v3/gists/#edit-a-gist