首页 > 解决方案 > Rails API 5.1.4 活动存储 - 无法加载“Rails.config.active_storage.service”

问题描述

我在使用 Rails 5 API 设置本地 Active Record 存储时遇到问题。gem 'activestorage'并且rake active_storage:install工作正常,因为他们正在生成迁移文件和config/storage_services.yml(这让我很困惑,因为它通常只是config/storage.yml

我按照文档并放入require "active_storage"了我的config/application.rb(我也尝试require "active_storage/engine"过,但是没有用)。它似乎在config/environments/development.rb中中断,config.active_storage.service = :local因为它抛出了这个错误:

NoMethodError: Cannot load `Rails.config.active_storage.service`:
undefined method `[]' for nil:NilClass

谷歌并不是特别有帮助,所以任何建议都将不胜感激。谢谢!

标签: ruby-on-railsrubyrails-apirails-activestorage

解决方案


我知道这来得太晚了,我在尝试将 gem 添加到我的 Rails 5.1 应用程序时遇到了同样的问题。

经过一番调试,我认为问题出在config/storage_services.yml,特别是以下amazon部分:

  access_key_id: <%= Rails.application.secrets.aws[:access_key_id] %>
  secret_access_key: <%= Rails.application.secrets.aws[:secret_access_key] %>

即使您将这些行注释掉,ERB仍然会尝试评估代码,如果您没有aws事先设置秘密,则会发生错误。

amazon因此,如果您不打算使用它,只需删除整个部分。或者,如果您这样做,请正确设置密码。


推荐阅读