我正在尝试使用以下选项扩展 Rails 关联,例如 has_and_belongs_to_many cache
:
has_and_belongs_to_many :posts, cache: true
当我直接编辑捆绑的 ActiveRecord gem 时它工作正常:
module ActiveRecord::Associations::Builder
class CollectionAssociation < Association #:nodoc:
[...]
def valid_options
super + [:table_name, :finder_sql, :counter_sql, :before_add,
:after_add, :before_remove, :after_remove, :extend,
:cache]
end
[...]
end
end
但我不确定猴子补丁、覆盖或扩展此类的干净方法。