Busqueda en métodos de un modelo con Thin king Sphinx

Os explico la situación:

En un modelo User, hay varios campos: nickname, name, surname,
activated_at … la combinación de algunos de ellos determina si el
usuario está activo, ya que ha completado su perfil, o no, por
ejemplo:

class User < ActiveRecord::Base

def active_user
!(self.activated_at.nil? || self.nickname.nil? || self.name.nil?)
end

hasta aqui todo normal. Como es lógico quiero excluir los usuarios
inactivos de las búsquedas (estoy usando Shphinx + Thinking Sphinx)

Sabeis si hay alguna manera de indexar el resultado de un método?, en
este caso seria hacer algo así

define_index do
indexes nickname, :sortable => true

has active_user, :as => :active
end

para luego poder hacer:

@results = User.search query, :coditions => {:active => true}

Evidentemente una solución es comprobar por separado cada uno de los
campos que debe completar el usuario, pero si se pudiera hacer esto
seria …


Ror-es mailing list
[email protected]
http://lists.simplelogica.net/mailman/listinfo/ror-es

No se si te valdrá, Pero el acts_as_auditable guarda todos los
movimientos
sobre el modelo que le digas, guarda id de lo que audita, la clase, el
controlador
la acción y en un hash fácil de extraer los campos modificados.

no se si te ayudará mucho. De todas formas lo mejor que puedes hacer
si usas
state_machine es que se en plan wizard y el activo venga determinado
por el estado

def refistration_compleate
self.state == “Finished”
end

Después puedes ponerle un call_back en el estado para que fije el
timestamp de la
activación.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs