我希望看到給定的ActiveRecord Query將生成的SQL語句。我知道我可以在查詢發佈後從日誌中獲取這些信息,但我想知道是否有可以調用的方法和ActiveRecord Query。我如何看到由Ruby on Rails中的給定ActiveRecord查詢生成的SQL
例如:
SampleModel.find(:all, :select => "DISTINCT(*)", :conditions => ["`date` > #{self.date}"], :limit => 1, :order => '`date`', :group => "`date`")
我想打開IRB控制檯和粘性末端有一個方法,將顯示該查詢將生成SQL,但不一定執行查詢。
這是接近我在想什麼。我想一個人可以編寫一個插件,它可以執行如下操作: SampleModel.find(:all,:select =>「DISTINCT(*)」,:conditions => [「'date'>#{self.date} 「],:limit => 1,:order =>''date'',:group =>」'date'「)。show_generated_sql 並將此調用爲construct_finder_sql方法。 – rswolff 2009-08-28 17:02:43
使用DataMapper你可以,因爲它不會馬上運行查詢。另一方面ActiveRecord立即執行查詢。 'show_generated_sql'將作用於已經從'find'檢索到的數據集。 – 2009-08-28 20:55:05
In Rails 3'construct_finder_sql'確實被刪除 – Veger 2011-12-26 14:21:29