Я хотел бы видеть инструкцию SQL, которую генерирует данный запрос ActiveRecord. Я узнаю, что могу получить эту информацию из журнала после того, как запрос был выпущен, но мне интересно, есть ли метод, который можно вызвать, и запрос ActiveRecord.Как я могу увидеть SQL, который будет сгенерирован заданным запросом ActiveRecord в Ruby on Rails
Например:
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
С DataMapper вы могли бы, потому что он не запускает запрос сразу. ActiveRecord, с другой стороны, выполняет запрос немедленно. 'show_generated_sql' будет действовать на уже извлеченный набор данных из' find'. –
В Rails 3 'construct_finder_sql' действительно удален – Veger