特定の SQL が現在のリクエストで実行されたかどうかを確認する簡単な方法はありますか?
私が持っているとしましょう
class Candy < ActiveRecord::Base
def yummiest_candies
@yummiest_candies = where(yummy: true, user_id: 1)
end
def do_something
if was_executed?(yummiest_condies.to_sql)
'do something'
end
end
def was_executed?
# any ideas ??
end
end
明らかにログを確認できますが、これに対する組み込みのソリューションがあるかどうか疑問に思っていました。
また、インスタンス変数@yummiest_candies
が存在するかどうかを確認できましたが、SQLを確認するための解決策があるかどうか疑問に思っていました
質問 2: 以下のコードは実行する価値があると思いますか? (おそらく、非常に複雑なシナリオで)
# app/model/candy.rb
#...
def factory_ids
if was_executed?(yummiest_candies.to_sql)
yummiest_candies.collect(&:factory_id)
else
yummiest_candies.pluck(:factory_id)
end
end
#...
ありがとうございました