我正在尝试安装一个缓存层,对于某些find_by_id
之类的Rails模型方法,应该首选此缓存层。
我想使用Rubocop来确保新手不会使用q模型来写find_by_id
,例如:不要写Customer.find_by_id
而是被迫使用CustomerCache.find_by_id
>
我可以做Rubocop吗?我对红宝石和Rails以及它的整个生态系统还很陌生
谢谢!
我正在尝试安装一个缓存层,对于某些find_by_id
之类的Rails模型方法,应该首选此缓存层。
我想使用Rubocop来确保新手不会使用q模型来写find_by_id
,例如:不要写Customer.find_by_id
而是被迫使用CustomerCache.find_by_id
>
我可以做Rubocop吗?我对红宝石和Rails以及它的整个生态系统还很陌生
谢谢!
Rubocop是指示应该遵循或避免的Ruby编程模式的好工具。此特定用例不属于Rubocop层IMO,因为它不是Ruby编程模式,并且与您的特定实现有关。
您可以使用几种模式来处理此问题:
class Customer < ApplicationRecord
def find_by_id(*args)
ActiveSupport::Deprecation.warn "Customers should be retrieved through CustomerCache"
super
end
end
class Customer < ApplicationRecord
def find_by_id(*args)
CustomerCache.find_by_id(*args)
end
end
也可以考虑完全删除该方法。