1
私は次のモデルを持っています。これは、クエリの属性ベースを持ちます。その属性のため、アプリケーションにレコードを表示するとN + 1の問題が発生します。モデルにはクエリ(N + 1)に基づく属性があります
Doing Dish.all.includes(:entries)
はこのセクションfrom_today.from_current_time
のクエリのため動作しません。あなたが条件との関連付けを追加する
class Dish < ApplicationRecord
has_many :entries, dependent: :destroy
belongs_to :user
belongs_to :category
before_validation :init, on: :create
def available?
current_entry = entries.from_today.from_current_time
return false if current_entry.count.zero?
current_entry.first.dishes_left.positive?
end
end
答えてくれてありがとう、と何:その後
を、あなたは次のように行うことができます引数? –
@CarlosGuerrero、Railsはconditionとの関係を事前にロードすることはできません。必要に応じて手動でプリロードする必要があります。 –