Ruby on Rails で画像投稿サイトを作成し、Herokuで初めてデプロイしました。
全ての機能は利用できるのですが、写真(コメントなど含む)投稿をする時にエラーが出てしまいます。
We're sorry, but something went wrong. If you are the application owner check the logs for more information.
そこでターミナルでlogを確認してみると、
User Load (0.9ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2 [["id", 2], ["LIMIT", 1]] CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2 [["id", 2], ["LIMIT", 1]] Category Load (1.2ms) SELECT "categories".* FROM "categories" WHERE "categories"."id" = $1 LIMIT $2 [["id", 1], ["LIMIT", 1]] (0.9ms) ROLLBACK Completed 500 Internal Server Error in 15ms (ActiveRecord: 4.1ms) I18n::InvalidLocale (:ja is not a valid locale): app/controllers/posts_controller.rb:47:in `create'
とのように出ております。
一応HerokuではHeroku Postgresのアドオンをaddしているので、多少のデータは保持できると認識しています。(誤りだった場合ご指摘願います)
少し気になるのが登録したプロフィール画像も、少し時間が経てば表示されなくなってしまいます。
何が原因なのか理解出来ずにおります。恐れ入りますがご指摘頂ければ幸いです。
posts_controllerの中身を追記してください
下記のように記載しています。
def create
@post = Post.new(
title: params[:title],
memo: params[:memo],
ingredient: params[:ingredient],
content: params[:content],
user_id: @current_user.id,
time: params[:time],
category_id: params[:category_id],
image_name: "post_img.jpg")
if @post.save
if params[:image_name]
@post.image_name = "#{@post.id}.jpg"
image = params[:image_name]
File.binwrite("public/post_images/#{@post.image_name}", image.read)
end
flash[:notice] = "投稿を作成しました"
redirect_to("/posts/#{@post.id}")
else
render("posts/new")
end