Duda acerca de consulta compleja y human_name

Buenas a todos los miembros de la lista en este primer mail

Estoy realizando una pequeña aplicacion en la que necesito hacer una
consulta un poco más compleja que las proporcionadas por active
record. Mi modelo “entidad” tiene varias propiedades de tipo bool en
la base de datos (casi 40 propiedades de este tipo).

Para realizar las busquedas le ofrezco al usuario un formulario con 40
checkboxs cada uno correspondiendo a una propiedad. Mi problema es que
quiero hacer una busqueda en la base de datos para que me devuelva las
entidades que tengan las propiedades seleccionadas en el formulario
puestas a true.

Si por ejemplo elije la propiedad 1 y la propiedad 12 en el formulario

Entidad.find_by_sql (SELECT * FROM ENTIDAD WHERE propiedad1 = true and
propiedad12 = true)

El problema es que no se como hacer esto de manera dinamica.
Habíapensado en escribir una cadena de manera dinamica segun los checkbox
activados, pero quería saber si existia una manera más rapida y limpia
de realizarlo

Mi segunda duda es como puedo cambiar el human_name de una columna.
Este código:

<% for column in Sede.content_columns %>

<%= column.human_name %>
<% end %>

me devuelve el nombre de la columna en la base de datos y me
gustaríacambiarlo por otro texto

Muchas Gracias

Rafa

Hola, quizas esto te pueda servir

Controller

@entidad = Entidad.find
(:all,:conditions=>{:propiedad1=>true,:propiedad2=>true})

luego en tu vista

<% for mi_entidad in @entidad %>

<%= mi_entidad.propiedad1 %>

… y asi
<% end%>

Espero sirva

Saludos

Para las consultas quizas te sirva este [1] plugin.

[1] http://www.muermann.org/ruby/criteria_query

saludos,
Juan P.