【发布时间】:2020-07-22 23:48:42
【问题描述】:
也许我错过了初始化过程中的某些内容,但sorbet-rails 似乎无法为某些默认的 rails 方法生成方法(例如has_many、belongs_to、validates 等)。我可以看到生成了对应的生成关联,但是我收到类型抱怨主要方法不存在。
例如像这样的类:
class Role < ApplicationRecord
has_and_belongs_to_many :users, :join_table => :users_roles
我可以在 role.rbi 中看到自动生成的印记
sig { returns(::User::ActiveRecord_Associations_CollectionProxy) }
def users; end
但是这是我在检查类型时遇到的错误:
Method has_and_belongs_to_many does not exist on T.class_of(Role) https://srb.help/7003
3 | has_and_belongs_to_many :users, :join_table => :users_roles
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
【问题讨论】:
标签: ruby-on-rails ruby typechecking sorbet