Witam
mam problem z instalacją acts_as_ferret.
próbuję zainstalować plugin wg instrukcji z dokumentacji http://projects.jkraemer.net/rdoc/acts_as_ferret/
ferret zainstalowalem jako gem
jednak po wykonaniu polecenia:
ruby script/plugin install git://github.com/jkraemer/acts_as_ferret.git nic się nie dzieje. katalog vendor/plugins jest pusty.
wiec skorzystałem z
cd vendor/plugin
git clone git://github.com/jkraemer/acts_as_ferret.git
jednak nie ma skryptu aaf_install w katalogu projektu
AAF jest także dostępny jako gem, gorąco polecam.
W jaki sposób odwołać się do rzeczywistych pól, np title czy description ??
@result = Product.find_with_ferret @query
To wyświetli wynik wyszukiwania, a więc coś znajdzie
@results.total_hits
Ale jak chcę odwołać się do konkretnego pola np. @result.title daje undefined method `title’ for #Array:0xb679e6ac
gotar
May 19, 2010, 9:57am
4
musisz element arraya czyli iteracja po niej
@results.each do |r|
r.title
end
No tak.
Jednak to nie działa, coś z ferretem jest nie tak.
[product] register class Product with index product
[product] refusing re-registration of class Product
index_for [Product(id: integer, title: string, description: text, image_url: string, created_at: datetime, updated_at: datetime, price: decimal, category: integer)]
options: {:per_page=>10, :limit=>10, :lazy=>true, :page=>1, :sort=>"title", :offset=>0}
ar_options: {}
[product] lazy_find: Java
[product] stored_fields: [:title]
[product] query: Java
-->+(title:java description:java) +(class_name:Product)
[product] extracting stored fields [:title] from document Product / 1
[product] done: {:title=>nil}
[product] model: Product, id: 1, data: title
[product] extracting stored fields [:title] from document Product / 3
[product] done: {:title=>nil}
[product] model: Product, id: 3, data: title
Query: Java
total hits: 2, results delivered: 2
Znajduje ale nie zwraca.
Już sobie poradziłem. Źle w modelu aaf ustawiłem…