Что касается того, что выбрать, это действительно вопрос предпочтений.Я лично предпочитаю синтаксис хэша, так как вы можете отсканировать его и легко увидеть, какие параметры для каких столбцов.Хэш-синтаксис работает только для запросов на равенство, поэтому вам все равно придется использовать строковый формат для более сложных запросов.
Я готов поспорить, что разница в производительности незначительна, поскольку она преобразована в запрос SQL.Попадание в базу данных и обработка результата будут происходить там, где происходит большая часть времени обработки, и в обоих случаях будут идентичны.
Если вы хотите сравнить их, вы можете использовать тесты рельсов.
rails benchmarker "Model.joins(:washing_instructions).where('washing_instructions.dry_clean_only = ?', true)" "Model.joins(:washing_instructions).where(:washing_instructions => { :dry_clean_only => true })"