Хорошо. Возможно, это не прямое решение вашей проблемы. Но вы должны искать в других местах для поиска в рельсах 3.
Из readme acts_as_ferret
aaf is not yet ready for Rails3. Feel free to submit patches!
Rails 3 :More Like this no longer works for unsaved records (test fails in
content_test.rb test_more_like_this_new_record)
Rails 3: Sorting does not work - causes failure in sorting test & pagination test.
Это также не в хорошем состоянии. Если вы делаете этот поиск, "Act_as_ferret Windows". Вы увидите слово «глючит» много.
Итак. что делать
1. сделайте свой собственный простой поиск
Это для модели Post.
сообщений / index.html.erb
<%= form_tag posts_path, :method => 'get' do %>
<p>
<%= text_field_tag :search, params[:search] %>
<%= submit_tag "Search", :name => nil %>
</p>
<% end %>
posts_controller.rb
def index
@posts = Post.search(params[:search])
end
моделей / post.rb
def self.search(search)
if search
where('title LIKE ? OR text LIKE ?', "%#{search}%", "%#{search}%" )
else
scoped
end
end
2. Выполнить полнотекстовый поиск
В полнотекстовом поиске вы получите функции, которые дает вам обычная система веб-поиска.
Вы можете сделать «тест + работа» и т. Д.
Если вам действительно нужен полнотекстовый поиск, вы должны проверить.
Sphinx
Веснушка
и
elasticsearch
Эпизод 120: Думающий Сфинкс (пересмотренный)
Эпизод 278: Поиск с помощью солнечного пятна
Эпизод 307: ElasticSearch Part 2 (pro)
Эпизод 306: Elasticsearch Часть 1