在Heroku或其他替代品上写一个文件

时间:2013-09-22 05:09:20

标签: ruby-on-rails ruby-on-rails-3 heroku

我有一个用户使用应用上的按钮执行的操作。我想在页面上显示一条消息,说明最后执行该操作的时间(由任何用户执行)。我需要在某处保存日期,但不想要一张完整的桌子,它只是一个日期。我有一个只有日期的文件,当用户执行操作时,将当前日期写入文件。然后,该文件作为消息的一部分包含在视图中。在Heroku上写入文件失败。我不知道是否因为"只读系统"在Heroku上,或者因为我搞砸了文件的路径(但它在本地工作)。

application_controller

def lastreminded
   File.open("app/views/families/_lastreminded.html.erb", "w").puts(Date.today.strftime("%B %d, %Y").to_s + ".") 
end

我不知道这是在错误的地方写一个新文件,还是没有写一个文件,我不知道如何在heroku上检查它,但我不知道在日志中有关于它的任何事情。

我使用的是Rails 3,但计划很快升级。

1 个答案:

答案 0 :(得分:0)

Heroku使用只读文件系统,您可以尝试将该文件放在tmp目录中,但它将被擦除。我建议使用db表。

另一方面,如果您的操作结束更新任何模型,Rails模型会有一个updated_at属性。