Rails Active Storage 本地附件因神秘错误而失败:未初始化常量可分析

2024-03-13

红宝石'2.7.1'/rails 6.0.3.2

我无法使本地活动存储附件正常工作。这是我的设置:

我跑了:

$ rails active_storage:install
$ rake db:migrate

模型架构

  create_table "amazon_uploads" do |t|
    t.string "status"
    t.string "order_csv"
    t.datetime "created_at", precision: 6, null: false
    t.datetime "updated_at", precision: 6, null: false
  end

model:

class AmazonUpload < ApplicationRecord
  has_many :amazon_upload_recipients

  has_one_attached :order_csv
end

我的存储.yml

test:
  service: Disk
  root: <%= Rails.root.join("tmp/storage") %>

local:
  service: Disk
  root: <%= Rails.root.join("storage") %>

我的development.rb包含:

  config.active_storage.service = :local

然后在我的代码中我这样做:

    file = File.open(updated_file_path)
    @amazon_upload.order_csv.attach(io: file, filename: "hello", content_type: "application/CSV")

最后一行失败

NameError: uninitialized constant #<Class:0x0000564c2f7e8638>::Analyzable

我能看到的唯一其他参考这个错误的人声称他们有一个类型,但我不认为这是这里的问题


这是 zeitwerk 错误 您只需将 Rails 版本升级到 6.1.x 即可,一切都会正常工作

如果您不想升级 - 通过添加 application.rb 切换到经典加载模式

config.autoloader = :classic
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails Active Storage 本地附件因神秘错误而失败:未初始化常量可分析 的相关文章

  • rspec 测试 has_many :through 和 after_save

    我有一个 我认为 相对简单的has many through与连接表的关系 class User lt ActiveRecord Base has many user following thing relationships has ma
  • Production.log 中没有日志消息

    我编写了一个演示 HelloWorld Rails 应用程序并使用 WEBrick 对其进行了测试 它甚至不使用数据库 它只是一个打印 hello world 的控制器 然后我尝试将其部署到由 Passenger 驱动的本地 Apache
  • 新 Rails 应用程序出现问题

    我刚刚创建了一个新的rails应用程序 在CL上 使用rails new 我使用的是4 2 6 但似乎在我对应用程序执行任何操作之前我遇到了错误 first config environments development rb 53 in
  • watir selenium:浏览器构造函数无法识别的参数

    在我的 Rails 应用程序中 我有一个 nokogiri watir 爬虫 运行良好 在我升级了 gems 也升级了例如 selenium 后 当我使用以下命令打开爬虫浏览器时 BROWSER OPTIONS w headless no
  • 测试 rake 任务中定义的方法

    我想测试 rake 任务中定义的方法 耙文件 lib tasks simple task rake namespace xyz do task simple task gt environment do begin if task need
  • Ruby on Rails 中的垃圾收集器?

    我尝试在 Google 上搜索很多有关 Rails 垃圾收集器的信息 但没有得到可靠的答案 有谁有资源来展示如何垃圾收集是在 Rails 中实现的吗 我们怎样才能控制它呢 Rails 是一个框架 而不是一种语言 Rails 背后的语言称为
  • mail_form gem 与 sidekiq 工作者

    怎么做邮件表格gem 与 sidekiq 工作人员一起工作吗 https github com plataformatec mail form https github com plataformatec mail form 我可能做错了什
  • 如何创建下载链接

    创建下载链接的最佳方法是什么 还有比下面更好的方法吗 我正在考虑使用link to Download controller gt action gt id gt 视图中 Adding match documents download id
  • Rails 中的代码片段应该放在哪里?

    我有这个代码片段 可以为 POST 生成签名 它的细节并不重要 但我想知道的是 由于它不是与模型相关的代码块 所以它确实可以在任何地方使用 在控制器中 在模型中 在视图助手中 即使在视图中 因此 我不确定在哪里 甚至更大的问题是 一旦将其放
  • 帮助重构这个讨厌的 Ruby if/else 语句

    所以我有这个大而多毛的 if else 语句 我将跟踪号码传递给它 然后它确定它是什么类型的跟踪号码 我怎样才能简化这件事 具体来说就是想减少代码行数 if num length lt 8 tracking service false el
  • Rails:通过关联has_many,以及创建新实例的形式

    我对 Rails 还很陌生 只是想通过建立关联来获得我的第一个 has many 食谱有很多成分 每种成分都有食谱所需的量 成分量表具有配方是 成分是 以及量 创建新食谱时 我希望能够在同一位置创建这些食谱 成分关联 最后 我将为配料构建一
  • URI::InvalidURIError(错误的 URI(不是 URI?):nil)Active Storage service_url

    配置信息 rails version 6 0 ruby version 2 7 0 gem image processing gt 1 2 存储 yml local service Disk root 开发 rb config active
  • 如何使用哈希数组填充 select_tag?

    在 Rails 3 2 应用程序中 我尝试添加一个选择字段 该字段从外部 API 调用获取数据 该数据作为哈希数组返回 name gt NameA id gt 001 name gt NameB id gt 002 我如何使用这些数据来构造
  • 如何使用 ruby​​zip 库获取压缩文件的内容?

    我正在尝试提取上传的 zip 文件并将其内容存储在数据库中 每个文件一个条目 rubyzip 库几乎没有有用的文档 有一个资产表 其中包含键 string 文件名 和数据 binary 文件内容 我正在使用 ruby zip 库 并且已经做
  • 如何保持 git 存储库的公共和私有版本同步?

    我正在 Github 上发布一个开源 Rails 应用程序 可能是 MIT 许可证 我还想维护一个项目的私人分支 分支 我们将使用它作为付费服务的一部分 在这种情况下组织存储库的最佳方式是什么 而且 当我有两个项目的更新时 如何保持项目同步
  • 如何在 Rails 中格式化日期时间?

    在我的 Rails 视图中 我有以下显示日期时间的代码 该行的结果如下 2013 02 02 01 00 00 UTC 我该如何更改它 使其显示为 2 2 13 X 00 PST 使用红宝石的strftime 关于日期 日期时间 看一下文档
  • 为什么这个 rspec 请求规范不更新模型?

    我有一个与用户模型交互的请求规范 我想确保具有管理员角色的用户可以创建 编辑 销毁用户 我现在遇到一个问题 编辑操作无法更新用户 当我手动执行网站本身的操作时 一切正常 但测试无法更新用户 这是我的规格 it edits a user do
  • Ruby on Rails:如何检查复数形式和单一形式的名称

    我用命令创建了一个匿名模型 rails g model Anonymous section id integer aid string fake bool active bool 但迁移中的表名称为匿名 class CreateAnonym
  • 当你不继承Rails 4中的ApplicationController时,如何包含respond_to?

    我在 Rails 4 1 2 应用程序中有一个 API 控制器 它不继承自应用程序控制器 我试图包含 respond to 方法并得到一个方法未定义的错误 所以然后我需要在顶部的操作包 如下所示 require action pack cl
  • 脚本标头过早结束:媒体(与以下问题相关:rails 应用程序部署+passenger+ubuntu+apache)

    我刚刚设置了一个 linode 服务器并在其上部署了我的 Rails 3 应用程序 它已启动并正在运行 问题是某些图像没有显示在生产中 在本地 它们工作正常 我仔细检查了日志文件 生产 log 但什么也没找到 然后我检查服务器 error

随机推荐