Я в процессе обновления моего приложения от Rails2 до Rails3.
В моем приложении Rails2 используется поисковая система.
После googling я узнал, что searchlogic не совместим с Rails3, и вместо этого нужно использовать meta_search.rails 3 meta_search использование
Но я не знал, как использовать meta_search vis-a-vis searchlogic.
Если у меня есть модель пользователя с полями name и: address, я не могу использовать следующие методы с meta_search. Что я делаю не так?
ruby-1.9.2-p0 > User.name_null
NoMethodError: undefined method `name_null' for #<Class:0x000000038d5ce0>
from /home/pratik/.rvm/gems/ruby-1.9.2-p0/gems/activerecord-3.0.3/lib/active_record/base.rb:1008:in `method_missing'
from (irb):7
from /home/pratik/.rvm/gems/ruby-1.9.2-p0/gems/railties-3.0.3/lib/rails/commands/console.rb:44:in `start'
from /home/pratik/.rvm/gems/ruby-1.9.2-p0/gems/railties-3.0.3/lib/rails/commands/console.rb:8:in `start'
from /home/pratik/.rvm/gems/ruby-1.9.2-p0/gems/railties-3.0.3/lib/rails/commands.rb:23:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
Ни один из методов, таких как User.user_id_eq (1) или User.name_equals ("Blah") не работают. Я предполагаю, что я еще не понял использование meta_search!
Ref:
meta_search https://github.com/ernie/meta_search
Спасибо Эрни за ответ и хороший плагин для поиска в Rails3. Но с meta_where также я не получаю синтаксис searchlogicy. Я думаю, будет хорошо иметь какие-то методы обертки над meta_where, которые демонстрируют синтаксис поисковой системы, чтобы обеспечить плавный переход от Rails2 к Rails3. – 2010-11-30 19:19:40