0

次のコードを使用して単純な like 句を実行しようとしています...

Message.where('to LIKE ?', '%hi')

私のモデルクラスは次のとおりです...

class Message < ActiveRecord::Base

attr_accessor :from, :error_messages, :use_background_job, :to
attr_accessible :status, :to, :from, :cc, :bcc, :subject, :body, :error_messages, :use_background_job

私はactiverecordとactiverecord-oracle_enhanced-adapter gemを使用しています。ただし、次のエラーが表示されます...

  ←[1m←[36mMessage Load (161.1ms)←[0m  ←[1mSELECT "MESSAGES".* FROM "MESSAGES" WHERE (to LIKE 'hi')←[0m
ActiveRecord::StatementInvalid: OCIError: ORA-00936: missing expression: SELECT "MESSAGES".* FROM "MESSAGES"  WHERE (to LIKE 'hi')
        from stmt.c:230:in oci8lib_191.so
        from c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ruby-oci8-2.1.5-x86-mingw32/lib/oci8/cursor.rb:126:in `exec'

これは Oracle の問題ですか、それとも like 句の構文が正しくありませんか?

4

2 に答える 2