我使用rails-observers gem,我不能运行srb tc而没有错误.
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的方法
发布于 2022-11-02 20:22:55
由于todo.rbi文件是由Tapioca/Sorbet为代码库中使用但尚未声明的任何类/模块生成的,所以它将所有条目作为module(因为它不知道它应该是类还是模块)。在这种情况下,这种假设最终是不正确的。
修复方法是编辑todo.rbi文件并更改:
module ActiveRecord::Observer; end在第20行:
class ActiveRecord::Observer; end顺便说一句,更好的解决办法是让木薯皮为rails-observers生成一个RBI文件。您可能只是缺少了sorbet/tapioca/require.rb文件中的一个需求或其他东西。
https://stackoverflow.com/questions/74268919
复制相似问题