我有一个带有has_many B模型关联的A模型。 我想在我的A模型中做这样的事情:
def my_method
self.bs.last.my_method
end
换句话说,我想将my_method
委托给我在关联中的最后一个B对象。是否可以通过代表实现?认为它会更优雅。谢谢!
答案 0 :(得分:2)
我认为如果你创建一个方法来返回最后一个'bs'对象,你可以这样做:
def last_bs
self.bs.last
end
然后委托:
delegate :my_method, to: :last_bs
更新:这也可以通过以下方式实现:
delegate :my_method, to: "bs.last", allow_nil: true