Ruby on rails 活动存储器:TypeError:没有将符号显式转换为字符串

Ruby on rails 活动存储器:TypeError:没有将符号显式转换为字符串,ruby-on-rails,rails-activestorage,ruby-on-rails-5.2,Ruby On Rails,Rails Activestorage,Ruby On Rails 5.2,我在Rails 5.2应用程序上使用活动存储时遇到了一些问题,我最近才开始构建该应用程序 作为一个实验,我首先设置了一个fresh rails应用程序并设置了活动存储,然后构建了一个新的脚手架,它在fresh应用程序上工作 要真正简化这一点,如果我转到rails控制台来处理非工作应用程序,我会得到以下结果: > rails c Running via Spring preloader in process 47792 Loading development environment (Rai

我在Rails 5.2应用程序上使用活动存储时遇到了一些问题,我最近才开始构建该应用程序

作为一个实验,我首先设置了一个fresh rails应用程序并设置了活动存储,然后构建了一个新的脚手架,它在fresh应用程序上工作

要真正简化这一点,如果我转到rails控制台来处理非工作应用程序,我会得到以下结果:

> rails c
Running via Spring preloader in process 47792
Loading development environment (Rails 5.2.1)
[1] pry(main)> ActiveStorage
=> ActiveStorage
[2] pry(main)> ActiveStorage::Blob
TypeError: no implicit conversion of Symbol into String
from (erb):12:in `[]'
> rails c
Running via Spring preloader in process 48340
Loading development environment (Rails 5.2.1)
irb(main):001:0> ActiveStorage
=> ActiveStorage
irb(main):002:0> ActiveStorage::Blob
=> ActiveStorage::Blob (call 'ActiveStorage::Blob.connection' to establish a connection)
在工作应用程序中,我得到以下信息:

> rails c
Running via Spring preloader in process 47792
Loading development environment (Rails 5.2.1)
[1] pry(main)> ActiveStorage
=> ActiveStorage
[2] pry(main)> ActiveStorage::Blob
TypeError: no implicit conversion of Symbol into String
from (erb):12:in `[]'
> rails c
Running via Spring preloader in process 48340
Loading development environment (Rails 5.2.1)
irb(main):001:0> ActiveStorage
=> ActiveStorage
irb(main):002:0> ActiveStorage::Blob
=> ActiveStorage::Blob (call 'ActiveStorage::Blob.connection' to establish a connection)

无论出于何种原因,活动存储似乎只是部分加载。你知道是什么原因导致了这种情况吗?

奇怪的是,在删除了my
storage.yml中的所有注释行之后,活动存储工作了。因此,解决方案是删除
存储中的所有注释。yml

您是否“运行rails active\u存储:安装以在active\u存储迁移上进行复制?”?我运行了
rails active\u存储:安装
rails db:migrate
,按照rails active storage指南。配置中可能有什么内容?当您将数组视为散列时会出现此错误,因此“array[:somesymbol]”从
MiniMagic
切换到
Vips