我在尝试了解Rails开箱即用的委托方法。这是我想要做的。所以,我有Accounts
that_many Tasks
。所以我试图得到帐户的任务计数,这里是我目前如何做:理解rails委托方法
def total_tasks
tasks.count
end
很标准的事情。但我试图将此方法移至委托方法。我试过这个,但它不起作用
delegate :count, to: :task, prefix: "total"
这并没有工作,我真的没有想到它会这样做。有什么办法可以做到这一点?
我认为你的第一个解决方案比代表团更好,因为它增加了可读性。 “Accounts#total_tasks'比'Accounts#total_count'(委托方法)更有意义,因为我不确定我在计算什么。另外我同意@max'size'是比'count'更好的选择,以避免不必要的数据库访问 – engineersmnky