Я пытаюсь собрать серию классов, которые могут использовать ActiveRecord для динамического создания и выполнения сложных запросов.Я чувствую себя очень комфортно со всей практикой выполнения:
MyModel.select("id, name, floober").join(:creator).where(:is_active => true)
То, с чем я борюсь, - это использование этих вещей для создания запроса без возможности определить, сколько будет каждого из возможныхметод (количество объединений, количество или где предложения, лимит, группа и т. д.) заранее.У меня может быть 2 объединения, или нет соединений, в зависимости от того, откуда оно вызывается.
Из-за характера того, как я получаю эти вещи - список объединений, список столбцов, список гдепункты и т. д. - я могу слепо связать их вместеМне нужно объединить столбцы, организовать объединения, объединить предложения where, чтобы я не мог перебирать различные списки.
Я стараюсь не писать какой-либо необработанный SQL.
Одна вещь, которую я попробовал, заключалась в том, чтобы создать выражение ruby в виде строки, затем оценить его в конце, и когда я закончил, я почувствовал себя грязным, как будто мне нужна ванна.То, что я ищу, - это способ кешировать состояние моего запроса до тех пор, пока все части не будут собраны, а затем выполнить их.
Я забрел "с рельсов"?
спасибозаранее ...