Ruby on rails Rails API 5.1.4活动存储-无法加载`Rails.config.Active\u Storage.service`
我无法使用Rails 5 API设置本地活动记录存储Ruby on rails Rails API 5.1.4活动存储-无法加载`Rails.config.Active\u Storage.service`,ruby-on-rails,ruby,rails-api,rails-activestorage,Ruby On Rails,Ruby,Rails Api,Rails Activestorage,我无法使用Rails 5 API设置本地活动记录存储gem'activestorage'和rake active_storage:install工作正常,因为他们正在生成迁移文件和config/storage_services.yml(这让我很困惑,因为它通常只是config/storage.yml) 我按照文档的说明将require“active\u storage”放在我的config/application.rb中(我也尝试了require“active\u storage/engine”
gem'activestorage'
和rake active_storage:install
工作正常,因为他们正在生成迁移文件和config/storage_services.yml(这让我很困惑,因为它通常只是config/storage.yml)
我按照文档的说明将require“active\u storage”
放在我的config/application.rb中(我也尝试了require“active\u storage/engine”
但没有成功)。它似乎在config/environments/development.rb的config.active\u storage.service=:local中出现中断,因为它抛出了以下错误:
NoMethodError: Cannot load `Rails.config.active_storage.service`:
undefined method `[]' for nil:NilClass
谷歌并不是特别有帮助,所以任何建议都将不胜感激。谢谢 您可以通过bundle show activestorage
检查是否安装了active_存储,我相信这不是因为active_存储仅在5.2之后预安装 我知道这来得很晚,我在尝试将gem添加到Rails 5.1应用程序时遇到了同样的问题
经过一些调试后,我发现问题出在config/storage\u services.yml
,特别是以下amazon
部分:
access_key_id: <%= Rails.application.secrets.aws[:access_key_id] %>
secret_access_key: <%= Rails.application.secrets.aws[:secret_access_key] %>
access\u key\u id:
机密\u访问\u密钥:
即使您将这些行注释掉,ERB
仍将尝试评估代码,如果您未事先设置aws
机密,则会发生错误
因此,如果您不打算使用它,只需删除整个amazon
部分。或者正确设置密码。将config/storage\u services.yml
重命名为config/storage.yml
是否解决了问题?因为错误消息看起来Rails找不到配置文件。很遗憾,解决方案不起作用吗?这是完全相同的错误消息。基本上,“将config/storage\u services.yml
文件复制到config/storage\u services\u backup.yml
。然后从原始文件中删除amazon、google和mirror部分。否则,服务器将无法启动,因为它将查找不存在的密钥和文件。”