Railsがすぐに提供するデリゲートメソッドについて学習しようとしています。ここに私がやろうとしていることがあります。だから、私はAccounts
have_many Tasks
を持っています。だから私は、アカウントのタスク数を取得しようと、ここで私は現在、それをやっている方法ですよ:Railsデリゲートメソッドの理解
def total_tasks
tasks.count
end
かなり標準のものを。しかし、私はこのメソッドをデリゲートメソッドに移そうとしています。私はこれを試しましたが、うまくいきません。
delegate :count, to: :task, prefix: "total"
これはうまくいかず、私は本当にそれが期待できませんでした。私はこれを行う方法がありますか?
あなたの最初の解決策は、読みやすくするために委任先よりはるかに優れていると思います。 'Accounts#total_tasks'は' Accounts#total_count'(デリゲーションメソッド)よりもはるかに理にかかります。ここで私は何を数えているのか分かりません。さらに、@max 'size'は、不必要なDBヒットを避けるために' count'よりもはるかに優れたメソッドの選択であることに同意します – engineersmnky