我基本上想要以下功能,但反过来,我已经有了undestroy
适用于单个类的功能。
但是,我试图扩展 ActiveRecord::Relation 无济于事。这是我为其他方法做的方法ActiveRecord::Base
ActiveRecord::Base.extend Track::BaseTrack
但是使用ActiveRecord::Relation.extend Track::TrackRelation
似乎没有做任何事情。模块TrackRelation
(内部Track
)是:
module TrackRelation
def undestroy_all(conditions = nil)
if conditions
where(conditions).undestroy_all
else
to_a.each {|object| object.undestroy }.tap { reset }
end
end
end
我是否使用正确的 ActiveRecord 类来建立关系?
错误是:
undefined method "undestroy_all" for #<ActiveRecord::Relation []>