質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

2回答

631閲覧

リリース後でも画像が表示されるようにしたい

jus

総合スコア60

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2023/06/03 15:43

編集2023/06/05 05:55

実現したいこと

リリース後でも画像が表示されるようにしたい

前提

Rubyでwebアプリを開発している初心者です。
画像投稿機能を取り入れたいと考えており、Cloudinaryを使用しています。
ただ、ローカル環境は問題なく画像投稿ができるのですが、本番環境では

We're sorry, but something went wrong.
If you are the application owner check the logs for more information.

このように表示されてしまい、画像投稿ができません。

flyctl secrets set CLOUD_NAME=~
は実行しています

発生している問題・エラーメッセージ

We're sorry, but something went wrong. If you are the application owner check the logs for more information.

試したこと

環境変数の確認
flyctl secrets set CLOUD_NAME=~の再実行

補足

VSコード
イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

winterboum

2023/06/04 07:47

If you are the application owner check the logs for more information. とあるのですから、まずそれを
jus

2023/06/04 14:50 編集

ありがとうございます。 確認したところ 2023-06-04T14:24:50Z app[3287332a0d6d85] nrt [info]I, [2023-06-04T14:24:50.480763 #513] INFO -- : [a73d5f5b-2a2e-4d04-83e9-a2faaa7ed9bd] Parameters: {"authenticity_token"=>"[FILTERED]", "post"=>{"title"=>"naruto", "summary"=>"", "highlight"=>"", "hashbody"=>"", "image"=>#<ActionDispatch::Http::UploadedFile:0x000055f89c23dc10 @tempfile=#<Tempfile:/tmp/RackMultipart20230604-513-bjw33x.jfif>, @original_filename="R.jfif", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"post[image]\"; filename=\"R.jfif\"\r\nContent-Type: image/jpeg\r\n">, "tag_ids"=>["", "5"]}, "commit"=>"保存", "id"=>"2"} 2023-06-04T14:24:50Z app[3287332a0d6d85] nrt [info]I, [2023-06-04T14:24:50.555548 #513] INFO -- : [a73d5f5b-2a2e-4d04-83e9-a2faaa7ed9bd] Completed 500 Internal Server Error in 75ms (ActiveRecord: 26.4ms | Allocations: 13432) 2023-06-04T14:24:50Z app[3287332a0d6d85] nrt [info]F, [2023-06-04T14:24:50.556105 #513] FATAL -- : [a73d5f5b-2a2e-4d04-83e9-a2faaa7ed9bd] 2023-06-04T14:24:50Z app[3287332a0d6d85] nrt [info][a73d5f5b-2a2e-4d04-83e9-a2faaa7ed9bd] Errno::EACCES (Permission denied @ dir_s_mkdir - /rails/public/uploads/tmp/1685888690-513-0001-4310): 2023-06-04T14:24:50Z app[3287332a0d6d85] nrt [info][a73d5f5b-2a2e-4d04-83e9-a2faaa7ed9bd] 2023-06-04T14:24:50Z app[3287332a0d6d85] nrt [info][a73d5f5b-2a2e-4d04-83e9-a2faaa7ed9bd] app/controllers/posts_controller.rb:45:in `update' このようなログになってました。 Completed 500 Internal Server Error in 75ms (ActiveRecord: 26.4ms | Allocations: 13432)と Errno::EACCES (Permission denied @ dir_s_mkdir - /rails/public/uploads/tmp/1685888690-513-0001-4310):が今回の原因でしょうか。
winterboum

2023/06/04 22:51

上のは結果です。下のが原因
jus

2023/06/05 02:21

なるほど。 この場合、パーミッションの変更を行えばいいのでしょうか。 もしそうであれば、具体的な方法のご教授をお願いしたいです。
guest

回答2

0

自己解決

fly ssh console
mkdir -p public/uploads/tmp
chmod -R 777 public/uploads/tmp
を行うと解決しました。
ありがとうございました。

投稿2023/06/17 06:26

jus

総合スコア60

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Permission denied @ dir_s_mkdir - /rails/public/uploads/tmp/1685888690-513-0001-4310 ということですから、 /rails/public/uploads/tmp の持ち主が Railsの実行者と異なるのでしょう。
とりあえず、ということで chmod 777 /rails/public/uploads/tmp して動くか見てください。
どの様にdeployしたかによって、/rails/public/uploads/tmp のownerとかpermittionとかが変わってしまうかもしれないので、注意。

投稿2023/06/05 04:12

winterboum

総合スコア23329

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jus

2023/06/05 06:12 編集

ご回答ありがとうございます。 windowsであるためicacls "C:\rails\public\uploads\tmp" /grant Everyone:F /T と入力したのですが C:\rails\public\uploads\*: 指定されたパスが見つかりません。 0 個のファイルが正常に処理されました。1 個のファイルを処理できませんでした と表示されました。 VSコードは補足の欄のようになっているのですが、なにが問題なのでしょうか。 何卒よろしくお願い致します。 New-Item -ItemType Directory -Force -Path "C:\rails\public\uploads\tmp"  これを行っても問題はないでしょうか。
winterboum

2023/06/05 09:08

それはlocalですよね? 行うべきはサーバの方です
jus

2023/06/05 17:59 編集

サーバーでicacls "C:\rails\public\uploads\tmp" /grant Everyone:F /Tを実行するということでしょうか。 その場合、どのようにしてサーバーに接続するかも教えていただきたいです。 調べているのですが、よくわからない状態であるため併せて教えていただけると幸いです。 また、ノートンを入れているのですが、ノートンが邪魔している可能性はありますでしょうか。
winterboum

2023/06/05 22:35

サーバーへのloginはサーバーによって異なるので、わからんです。サーバーの契約元にきいていただくか。 deployの方法によりますが、rails起動のownerやtmpのpermittionを設定できる方法が有るかもしれません。
jus

2023/06/06 05:02

なるほど。ありがとうございます。 デプロイは Fly.ioを使って行いました。
winterboum

2023/06/06 06:38

Fly.io は使ったことがないのでこれについては助言出来ないです
jus

2023/06/07 02:03

かしこまりました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問