升级到 Rails 6.1.0 后 ActiveStorage::Blob 的未定义方法“service_name”

Posted

技术标签:

【中文标题】升级到 Rails 6.1.0 后 ActiveStorage::Blob 的未定义方法“service_name”【英文标题】:undefined method 'service_name' for ActiveStorage::Blob after upgrading to rails 6.1.0 【发布时间】:2021-04-06 12:36:37 【问题描述】:

我将我的应用程序从 6.0.3.4 升级到 6.1.0 并收到此错误消息。查了一下,没找到。

我有一个非常基本的 ActiveStorage 用法

【问题讨论】:

【参考方案1】:

您需要通过以下方式创建新的升级迁移:

rails active_storage:update

【讨论】:

伙计,如果这在升级说明中会很好edgeguides.rubyonrails.org/… 有人知道如何进行更改吗? 您可以在 github.com/rails/rails 上将其作为问题提出或提出拉取请求 确保在此之后明显运行rake db:migrate【参考方案2】:

对我来说,从 6.0.2 -> 6.1.1 出现类似的错误消息:

Can't resolve image into URL: undefined method `service_name'

同样,“rails active_storage:update”命令通过将所需属性添加到数据库表来解决此问题,但在此处登录以搜索上述错误,当时 Google 没有返回任何有用的信息。

【讨论】:

以上是关于升级到 Rails 6.1.0 后 ActiveStorage::Blob 的未定义方法“service_name”的主要内容,如果未能解决你的问题,请参考以下文章

将 Rails 5.2 升级到 6.0.0 后内存泄漏

#=升级到Rails 5后无法正常工作

升级到 Rails 6.1 后的 Rails 路线问题

升级到 Chrome 73 后,SSL 证书在本地 Rails 上不起作用

将 Bundler 升级到 2.1.4 后初始化 Rails 控制台出错

Rake doc:app 在升级到 Ruby 2.1.1 和 Rails 4.1 后失败