アプリをRails2からRails3にアップグレード中です。
Rails2アプリはsearchlogicを多用しています。
グーグルした後、searchlogicはRails3と互換性がなく、代わりにmeta_searchを使用する必要があることがわかりました。
しかし、私はsearchlogicに対するmeta_searchの使用法を完全には理解していません。
:nameフィールドと:addressフィールドを持つUserモデルがある場合、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の使い方を理解していないと思います!
参照:
meta_search https://github.com/ernie/meta_search