前提・実現したいこと
Ruby on Railsでブログをつくっています。ひとつの機能として月別アーカイブを実装しました。しかしながらこれはローカルの環境でしか機能しません。
発生している問題・エラーメッセージ
herokuにデプロイして本番環境で稼働させようとしたらアカンかったです。heroku logsを読み込んでみると以下のエラーメッセージを吐き出していました。ちなみにローカルではSQLite3を、本番ではpostgreSQLを使っています。
heroku ERROR: function strftime(unknown, timestamp without time zone) does not exist
該当のソースコード
ruby
1@archives = Micropost.group("strftime('%Y%m', microposts.created_at)") 2 .order("strftime('%Y%m', microposts.created_at) desc") 3 .count
ruby
1@microposts = Micropost.where("strftime('%Y%m', microposts.created_at) = '"+params[:yyyymm]+"' ") 2 .order(:id) 3 .page params[:page]
試したこと
ruby
1Micropost.group(:created_at).count # {Thu, 01 Feb 2018 15:16:27 JST +09:00=>1, Wed, 31 Jan 2018 18:11:39 JST +09:00=>1}
これではだめですね。欲しいのは {"2018-02" => 2} なのです。そのほかにいろいろな関数を試してみましたがだめでした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
あなたの回答
tips
プレビュー