我正在尝试使用Rails数据库并继续遇到此错误。直到5天前它停止工作并且我开始看到此错误之前,该数据库以前一直在工作,没有活动的存储问题:
*** NameError Exception: uninitialized constant ActiveStorage::Attachment::ActiveStorage::Blob
我有一个发生错误的.jbuilder文件,
json.array! @campaigns do |campaign|
byebug
json.extract! campaign, :id, :title, :description, :goal, :campaign_end, :user_id, :current_amount, :ends, :percent_complete, :amount_left_to_fund, :owner, :successful
json.photoUrl url_for(campaign.photo)
end
在显示url_for(campaign.photo)的地方出现错误。但是,只需输入campaign.photo即可显示ActiveStorage实例及其所附的广告系列:
#<ActiveStorage::Attached::One:0x00007febc64f91b0 @name="photo", @record=#<Campaign id: 7, title: "Surgery", description: "Lorem ipsum dolor sit amet, consectetur adipiscing...", goal: 5000, user_id: 8, campaign_end: "2019-05-31 16:00:00", created_at: "2019-05-01 14:20:14", updated_at: "2019-05-01 14:20:14", successful: false>, @dependent=:purge_later>
我只是想获取此活动存储照片的URL。我尝试使用Google搜索该错误,但此错误消息没有看到任何内容。任何帮助将不胜感激!
答案 0 :(得分:0)
我刚遇到这个问题,并用最简单的解决方案解决了。
storage.yml
文件中的一个块最终未对齐。造成yaml parse error
的原因是,我想象了下游的整个加载/初始化错误列表。
您可以用短绒棉衣或通过从Rails控制台运行Rails.application.config_for(:storage)
来验证您的Yaml。
答案 1 :(得分:0)
在我的情况下(使用 Rails 5.1.4 和 ruby 2.4.2 的旧版应用程序)改变了由 activestorage 安装创建的迁移文件:
ActiveStorage::CreateTables
为此:
ActiveStorageCreateTables
文件可以位于db/migrate/