在生产中写入Rails中的CSV

时间:2017-01-05 16:57:48

标签: ruby-on-rails csv logging heroku

我想在Rails中将一些用户生成的数据写入生产中的CSV文件,但我无法成功编写和获取数据。它可能没有被写入,或者我试图获取它的方法存在缺陷(或两者都有)。

这是在我的静态页面控制器中:

def home
  line = ["static_pages","home","test"]
  CSV.open("db/output.csv", "ab") do |csv|
    csv << line
  end
  ...
end

我尝试了两种方法来查看output.csv文件的生产版本,两者都有相同的结果。

方法#1:

$ heroku run console
> Dir.chdir("db")
> puts CSV.open("output.csv").read()

方法#2

$ git fetch
$ git checkout FETCH_HEAD -- db/output.csv

两种方法都返回在开发环境中最近更新的文件版本。

我很容易在这里遗漏一些基本的东西。请让我知道你认为可能是什么问题。

1 个答案:

答案 0 :(得分:1)

您不应该依赖Heroku文件系统。 https://devcenter.heroku.com/articles/dynos#ephemeral-filesystem。 将其视为&#34;只读&#34;并尝试使用另一种方法来存储数据(例如数据库)。