Construtor de Consulta SQL em Trilhos

Estamos tentando criar um construtor de consulta SQL que permita aos usuários fazer consultas usando o auxílio visual.
Nós temos o front end todo trabalhado com o usuário sendo capaz de selecionar tabelas adicionar condição etc. No entanto, nosso back-end é uma bagunça, pois estamos tentando fazer essas consultas como string, tomando as condições do usuário e, em seguida, criando sequências SQL apropriadas em nossos modelos.
Isso acabaria se tornando muito problemático e difícil de manter, à medida que adicionamos suporte a consultas cada vez mais complexas. Alguém está ciente de um plugin de construtor sql que podemos usar, ou uma maneira melhor de abordar isso.