Gente,

Quiero comentarles mis avances, hopefully alguien sepa como seguir a partir
de aquí ;)

Encontre
http://nasir.wordpress.com/2007/10/25/full-text-search-using-ferret-acts_as_ferret-with-rails/,
que menciona que el método find_with_ferret (en lugar de multi_search),
desarrollado en los últimos meses (ya en versión stable), esta integrada con
will_paginate.

Nuevamente, esto funciona bárbaro, para 1 modelo :(, en este caso mi código
luce así:

*class Article < **ActiveRecord::Base*
*  acts_as_ferret :store_class_name => true*
*  ...*
*end
*
El controlador luce así:

*class SearchResultsController < ApplicationController*
*  ..*
*  def search*
*    @collection = Article.find_with_ferret params[:q], :page =>
params[:page], :per_page => 1*
*  end*
* ...*
*end
*
Luego, cuando quiero realizar una busqueda sobre 2 modelos (Article y
NewsItems), realizo los siguientes cambios:

 *class NewsItem < ActiveRecord::Base
*
*  acts_as_ferret :store_class_name => true*
*  ...*
*end
*
Y modifico el controlador de la siguiente forma:

 *class SearchResultsController < ApplicationController*
*  ..*
*  def search*
*    @collection = Article.find_with_ferret params[:q], :page =>
params[:page], :per_page => 1, :multi => [NewsItem]*
*  end*
* ...*
*end
*
Este código me produce el siguiente error:

*RuntimeError in Search resultController#index
':store_class_name => true' required for multi_search to work*

Bueno esta sería la nueva situación, si alguien tiene idea que pueda estar
pasando estaría buenisimo ;)

salutes,
 marcelo.

On Dec 13, 2007 9:51 AM, Marcelo Giorgi <[EMAIL PROTECTED]>
wrote:

>
> Hola gente,
> En esta oportunidad la consulta que tengo para hacerles esta más
> relacionada a Rails, quizas alguno de ustedes, con su expertice,  me puedan
> tirar una línea en la oscuridad...
>
> Estoy trabajando en un proyecto en donde utilizo: roar ( 
> http://agilewebdevelopment.com/plugins/roar_offers_automated_rails
> , que internamente utiliza paginator-1.0.9 para la paginación ), para el
> manejo de ABMs, y will_paginate (
> http://www.davidrv.com/web/blog/showNew/paginacion-a-medida-en-ruby-on-rails-will-paginate),
> que ofrece funcionalidades de paginación.
>
> El problema se dió cuando quise integrar will_paginate con acts_as_ferret
> (para agregar funcionalidades de búsqueda sobre varios modelos a la app).
> Encontre algunos links que hacen referencia a la integración de ambos
> plugins, como lo menciona Emmanuel en su blog :D (
> http://emmanueloga.wordpress.com/2007/09/)
>
> Hasta ahí todo bien, integrar acts_as_ferret con will_paginate utilizando
> el método paginate_search sobre un modelo Article (por ejemplo), anda
> bárbaro!
>
> Pero, la intensión de utilizar acts_as_ferret era hacer uso de la búsqueda
> a través de varios modelos, a través del método multi_search, por ej. Ahí es
> donde se me complico, o por lo menos, no encontre una solución que integre
> act_as_ferret y will_paginate cuando el primero consulta sobre múltples
> modelos (multi_search).
>
> De hecho he encontrando, en RAILS forum, el siguiente thread
> http://www.railsforum.com/viewtopic.php?pid=47211, que presenta el mismo
> problema y allí se sugiere utilizar 
> paginating_find<http://cardboardrocket.com/pages/paginating_find>en lugar de 
> will_paginate; intente seguir este esquema pero tampoco me
> anduvo, instale el paginating_find pero me comenzó a dar algunos errores
> (quizas por incompatibildad con los otros paginators que mencione
> anteriormente y que tengo instalados en mi app)..
>
> Any thoughts ?
>
> saludos y gracias,
>   marcelo.
>



-- 
Ing. Marcelo Giorgi
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a