Mettre à niveau Rails vers la version 5.2 et j'ai découvert que je devais valider le stockage.yml dans le contrôle de version. Je n'ai pas l'intention d'utiliser ActiveStorage. Y a-t'il une manière de le désactiver?
Supprimer la ligne suivante de config/application.rb
require "active_storage/engine"
Supprimer la ligne suivante des environnements config/environments/*.rb
config.active_storage.service = :local
Supprimer la ligne suivante de app/assets/javascripts/application.js
//= require activestorage
Les itinéraires ActiveStorage Rails disparaîtront
Dans le cas où il existe une instruction require 'Rails/all'
dans application.rb
, vous pouvez utiliser la solution ci-dessous pour laquelle vous devez exiger dépendance par dépendance et omettre active_storage
.
La seule solution que j'ai trouvée jusqu'à présent est dans config/application.rb
, en remplacement de:
require 'Rails/all'
Avec:
require "Rails"
# Include each railties manually, excluding `active_storage/engine`
%w(
active_record/railtie
action_controller/railtie
action_view/railtie
action_mailer/railtie
active_job/railtie
action_cable/engine
Rails/test_unit/railtie
sprockets/railtie
).each do |railtie|
begin
require railtie
rescue LoadError
end
end
qui provient de Rails ' source .
Supprimez les lignes comme celles-ci de config/environments/*.rb
config.active_storage.service = :local
Rails ne chargera pas le fichier yaml.
Si votre problème concerne le déploiement sur Heroku, j'ai constaté que le fait de s'assurer que l'adaptateur de base de données est postgres
peut résoudre le problème . Modifiez la section de production de config/database.yml
en:
production:
adapter: postgresql
encoding: unicodeubyonrails.org/configuring.html#database-pooling
pool: <%= ENV.fetch("Rails_MAX_THREADS") { 5 } %>
database: myapp_production
username: myapp
password: <%= ENV['MYAPP_DATABASE_PASSWORD'] %>