我在Rails 5.2应用程序上使用Active Storage时遇到了一些问题,我最近才开始构建它。
作为一个实验,我首先建立了一个新的rails应用程序,并建立了Active Storage,然后构建了一个全新的脚手架,它在新的应用程序上运行。
简而言之,如果我去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)
无论出于何种原因,Active Storage似乎只是部分加载。知道是什么原因造成的吗?
奇怪的是,在我的storage.yml
中删除所有注释行后,Active Storage工作了。因此,解决方案是删除storage.yml
中的所有注释。