将Rails升级到5.2,我发现我必须将storage.yml提交到版本控制中。我不打算使用ActiveStorage。有没有办法禁用它?
答案 0 :(得分:25)
从ui->tableWidget->editItem(ui->tableWidget->currentItem());
config/application.rb
从环境require "active_storage/engine"
config/environments/*.rb
从config.active_storage.service = :local
app/assets/javascripts/application.js
ActiveStorage rails路由将消失
如果//= require activestorage
中有声明require 'rails/all'
,那么您可以使用下面提供的解决方案,您需要依赖依赖性并省略application.rb
。
答案 1 :(得分:5)
到目前为止我找到的唯一解决方案是config/application.rb
,替换:
require 'rails/all'
使用:
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
取自Rails'source。
答案 2 :(得分:1)
从config/environments/*.rb
config.active_storage.service = :local
然后Rails不会加载yaml文件。
答案 3 :(得分:0)
如果您的问题是部署到Heroku,我发现确保数据库适配器为postgres
可以解决此问题。
将config/database.yml
的生产部分更改为:
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'] %>