[英]Sorbet-rails not generating RBI's for rails has_many, belongs_to, etc
也許我錯過了初始化過程中的某些內容,但是sorbet-rails
似乎無法為某些默認的 rails 方法(例如has_many
、 belongs_to
、 validates
等)生成方法。 我可以看到生成了相應的生成關聯,但是我收到類型抱怨主要方法不存在。
例如像這樣的 class :
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
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
此錯誤是sorbet
不知道has_and_belongs_to_many
方法存在的錯誤。 通常這是由sorbet
本身提供的。 我可以看到這種方法的簽名是在 sorbet-typed 的activerecord.rbi中定義的。 在您的倉庫中,它應該位於此路徑下:
sorbet/rbi/sorbet-typed/lib/activerecord/all/activerecord.rbi
您可以檢查該文件是否存在於您的存儲庫中嗎? 如果沒有,您可以嘗試運行srb rbi sorbet-typed
(按照rbi files doc )
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
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.