33

将 Rails 升级到 5.2,我发现我必须将 storage.yml 提交到版本控制中。我不打算使用 ActiveStorage。有没有办法禁用它?

4

3 回答 3

44

删除下一行config/application.rb

require "active_storage/engine"

从环境中删除下一行config/environments/*.rb

config.active_storage.service = :local

删除下一行app/assets/javascripts/application.js

//= require activestorage

ActiveStorage rails 路线将消失

如果有声明require 'rails/all'application.rb那么您可以使用下面提供的解决方案,您需要逐个依赖并省略active_storage.

于 2018-05-12T14:38:23.423 回答
21

到目前为止,我发现的唯一解决方案是 in 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 的源代码

于 2018-04-13T22:57:42.577 回答
3

config/environments/*.rb

config.active_storage.service = :local

Rails 将不会加载 yaml 文件。

于 2018-04-13T09:06:42.820 回答