前提・実現したいこと
railsを独学で勉強しています。
docker環境にてrailsアプリを制作しており画像アップロード機能を加えたくActive Storageをインストールしマイグレーションファイルが作成されmigrateしたところ作成されるであろうstorage.ymlのファイルが作成されません。またdevelopment.rbに自動で記載されるはずのconfig.active_storage.service = :localの設定もされてません。これが原因だと思うのですがどうしてもこの二つが実行されません。これはdocker環境だから何か特別な設定が別に必要なのでしょうか?
railsのバージョンは5.2です。
知識もまだ浅く色々検索し試しましたが原因がどうしてもわからなかったので質問させていただきました。どうかアドバイスよろしくお願いします。
発生している問題・エラーメッセージ
特にエラーなどは発生しておりません。
エラーメッセージ
該当のソースコード
rails $ docker-compose run web bundle exec rails active_storage:install Starting rails_db_1 ... done Copied migration 20191128132411_create_active_storage_tables.active_storage.rb from active_storage rails $ docker-compose exec web bundle exec rails db:migrate == 20191128132411 CreateActiveStorageTables: migrating ======================== -- create_table(:active_storage_blobs) -> 0.0297s -- create_table(:active_storage_attachments) -> 0.0380s == 20191128132411 CreateActiveStorageTables: migrated (0.0679s) =============== Nothing annotated.
試したこと
development.rbでの設定config.active_storage.service = :localを手動で記載
storage.ymlも手動で作成しrailsガイドからコピペしmodelsにて紐付けも行いviewにてフィールドを追加しましたがファイルの選択もできませんでした。
buildコマンドでイメージの再作成も試しました。
前回docker環境でないlocalで別のアプリを作成した時、Active Storageをインストールした際は上記二つとも自動で作成され問題なくアップデートもできました。
補足情報(FW/ツールのバージョンなど)
こちらがdocker-compose.ymlの内容になります。
version: '3'
services:
web:
build: .
command: bundle exec rails s -p 3000 -b '0.0.0.0'
volumes:
- .:/app
ports:
- 3000:3000
depends_on:
- db
tty: true
stdin_open: true
db:
image: mysql:5.7
volumes:
- db-volume:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: password
volumes:
db-volume:
あなたの回答
tips
プレビュー