Witam, jestem zupelnie nowy w RoR i poszukuje dobrego przykladu wyszukiwarki informacji w bazie danych. Bylbym wdzięczny za wszelką pomoc
Pewnie w książce “Rails Recipes” beda jakieś gotowce.
Zawsze też możesz skorzystać z dodatkowych generatorów:
http://wiki.rubyonrails.com/rails/pages/SearchGenerator
Pamiętaj, że Ruby traktuje modele składowane w bazie jako obiekty danej klasy. W świetle tego “wyszukiwarka informacji” w klasycznym rozumieniu troszkę przestaje istnieć.
Załóżmy, że masz klasę Book
db/migrate/001_create_books.rb
class CreateBooks < ActiveRecord::Migration
def self.up
create_table :books do |t|
t.column :title :string, :null => false
t.column :author, :string, :null => false
t.column :description, :text, :null => true
end
end
def self.down
drop_table :users
end
end
Następnie w modelu wykorzystujesz funkcję, która znajdzie Ci książkę wegług tytułu lub autora - klasyczna wyszukiwarka na stronie.
app/model/book.rb
class Book < ActiveRecord::Base
def find
if @params[search_string]
@books = Array.new
@books << Books.find_by_title(@params[search_string])
@books << Books.find_by_author(@params[search_string])
end
end
end
Wtedy w widoku wyświetlasz sobie obiekty z tablicy @books w sposób, jaki preferujesz.
Przykład jest dość trywialny ale powinien oddać Ci ideę.
Przegrzeb wiki i książkę Pragmatic Programmers - Agile Web Development with Rails 2nd edition dostępną w każdym dobrym kliencie ulubionej sieci p2p.
Pozdrawiam
jest jeszcze
http://projects.jkraemer.net/acts_as_ferret/wiki
pozdro