2

特定の 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
  #...

ありがとうございました

4

0 に答える 0