首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误5067 -如何绕过它并在我的项目上实现Sorbet?

错误5067 -如何绕过它并在我的项目上实现Sorbet?
EN

Stack Overflow用户
提问于 2022-10-31 20:43:03
回答 1查看 29关注 0票数 0

我使用rails-observers gem,我不能运行srb tc而没有错误.

代码语言:javascript
复制
app/models/supplier_observer.rb:3: The super class ActiveRecord::Observer of SupplierObserver does not derive from Class https://srb.help/5067
     3 |class SupplierObserver < ActiveRecord::Observer
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    sorbet/rbi/todo.rbi:20: ActiveRecord::Observer defined here
    20 |module ActiveRecord::Observer; end
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

app/models/supplier_observer.rb class SupplierObserver < ActiveRecord::Observer

冰糕/rbi/todo.rbi module ActiveRecord::Observer; end

tapioca gem rails-observers不能解决这个问题

我需要一个绕过它并在我的项目中实现Sorbet的方法

EN

回答 1

Stack Overflow用户

发布于 2022-11-02 20:22:55

由于todo.rbi文件是由Tapioca/Sorbet为代码库中使用但尚未声明的任何类/模块生成的,所以它将所有条目作为module(因为它不知道它应该是类还是模块)。在这种情况下,这种假设最终是不正确的。

修复方法是编辑todo.rbi文件并更改:

代码语言:javascript
复制
module ActiveRecord::Observer; end

在第20行:

代码语言:javascript
复制
class ActiveRecord::Observer; end

顺便说一句,更好的解决办法是让木薯皮为rails-observers生成一个RBI文件。您可能只是缺少了sorbet/tapioca/require.rb文件中的一个需求或其他东西。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74268919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档