0

ユーザーがアプリのボタンを使用して実行するアクションがあります。アクションが最後に (任意のユーザーによって) いつ実行されたかを示すメッセージをページに表示したいと考えています。日付をどこかに保存する必要がありますが、テーブル全体は必要ありません。日付は 1 つだけです。日付だけのファイルがあり、ユーザーがアクションを実行すると、現在の日付がファイルに書き込まれます。次に、ファイルがメッセージの一部としてビューに含まれます。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 を使用していますが、近日中にアップグレードする予定です。

4

1 に答える 1

0

Heroku は読み取り専用のファイルシステムを使用しているため、ファイルを tmp ディレクトリに配置しようとしても消去されます。db テーブルを使用することをお勧めします。

一方、Rails モデルには、アクションがいずれかのモデルの更新を終了した場合に使用できる updated_at 属性があります。

于 2013-09-22T05:25:55.563 に答える