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

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

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

Deviseとは、Ruby-on-Railsの認証機能を追加するプラグインです。

Ruby

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

Ruby on Rails

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

保存

保存(save)とは、特定のファイルを、ハードディスク等の外部記憶装置に記録する行為を指します。

Active Record

Active Recordは、一つのオブジェクトに対しドメインのロジックとストレージの抽象性を結合するデザインパターンです。

解決済

railsでの画像保存が本番環境だけ反映されない

hide_s
hide_s

総合スコア1

Devise

Deviseとは、Ruby-on-Railsの認証機能を追加するプラグインです。

Ruby

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

Ruby on Rails

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

保存

保存(save)とは、特定のファイルを、ハードディスク等の外部記憶装置に記録する行為を指します。

Active Record

Active Recordは、一つのオブジェクトに対しドメインのロジックとストレージの抽象性を結合するデザインパターンです。

1回答

0評価

0クリップ

489閲覧

投稿2021/12/11 02:46

編集2021/12/11 23:43

前提・実現したいこと

現在、ruby on railsでマッチングサービスを作っています。
フルスタックのrailsにviewにreactを積んでいます。

使用しているもの

  • アカウント管理 devise
  • 管理画面 activeadmin
  • 画像保存 active storage
  • viewでreactコンポーネントを呼び出すために 'react-rails'

また、開発環境、ステージング環境(staging.rbを新規作成)、本番環境の3つともGCSに保存するようにしています。

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

管理画面から、ユーザーのプロフィール画像を変更すると、開発環境とステージング環境はどちらもうまく反映されるのですが、
本番環境だけ、管理画面のみにしかプロフィール画像の更新が反映されません(ユーザー画面ではプロフィール画像が以前のままになる)。

ログを見てもエラーが出ているわけでもなく、GCSの中には、いずれの環境でも画像はちゃんと保存されていたので、何が問題なのかが見当がついていない現状です。

エラーの検討がついていないため、抽象的な質問になってしまい申し訳ございません。
もし追加情報が必要でしたら、追記いたします。

どこが原因で起きる問題なのかの、可能性の候補だけでもすごく助かります。
よろしくお願いします。

試したこと

  • 開発環境、ステージング環境、本番環境でのテスト。

本番環境のみユーザー画面に反映されないため、コーディング的要素ではなさそう、、、。

  • ログの確認を行ったが、エラーは出ていない(どの環境でも同一のログ)。
  • GCSに保存もできていることも確認済み。
  • キャッシュ設定の確認

追記

この現状での適切なご回答により、キャッシュの設定を確認しましたが、(ご回答、本当にありがとうございます)
解決には至らず他の場所の原因などを知りたいため、引き続き回答を募集させていただきます。

キャッシュ設定は全てオフにしていて、
activeadminを利用している管理画面以外は、全て(ユーザー画面含む)reactコンポーネントを利用しています。
こちらが影響すると思わず、記載していませんでした。申し訳ございません。
よろしくお願いいたします。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

MasaSakano

2021/12/12 00:49

一応、*念のため*、キャッシュ設定はConsoleで確認されましたか? `Rails.application.config.action_controller.perform_caching` を表示させると確認できます。 もう一点、本番環境の ActiveStorageのGCSにおいて、`cache_control` が影響している可能性はあるのかも知れませんか(私は使ったことなくて知りません)。ActiveStorageの本家マニュアル: https://guides.rubyonrails.org/active_storage_overview.html

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Devise

Deviseとは、Ruby-on-Railsの認証機能を追加するプラグインです。

Ruby

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

Ruby on Rails

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

保存

保存(save)とは、特定のファイルを、ハードディスク等の外部記憶装置に記録する行為を指します。

Active Record

Active Recordは、一つのオブジェクトに対しドメインのロジックとストレージの抽象性を結合するデザインパターンです。