У меня несколько проблем с jruby и activerecord-3.1.0.rc5.
Например, после запуска миграций я создаю простой объект Role из консоли rails, и все хорошо:
jruby-1.6.3 :006 > r = Role.new(:name => "Standard")
=> #<Role id: nil, name: "Standard", created_at: nil, updated_at: nil>
Затем я хочу отобразить все роли, поэтому я ввожу
jruby-1.6.3: 007> Role.all
Я получаю следующую трассировку стека:
argumentError: wrong number of arguments (3 for 2)
from /Users/paulcowan/.rvm/gems/jruby-1.6.3/gems/activerecord-3.1.0.rc5/lib/active_record/base.rb:470:in `find_by_sql'
from /Users/paulcowan/.rvm/gems/jruby-1.6.3/gems/activerecord-3.1.0.rc5/lib/active_record/relation.rb:111:in `to_a'
from /Users/paulcowan/.rvm/gems/jruby-1.6.3/gems/activerecord-3.1.0.rc5/lib/active_record/relation/finder_methods.rb:155:in `all'
from org/jruby/RubyBasicObject.java:1684:in `__send__'
from /Users/paulcowan/.rvm/gems/jruby-1.6.3/gems/activerecord-3.1.0.rc5/lib/active_record/base.rb:437:in `all'
from (irb):7:in `evaluate'
from org/jruby/RubyKernel.java:1093:in `eval'
from org/jruby/RubyKernel.java:1419:in `loop'
from org/jruby/RubyKernel.java:1205:in `catch'
from org/jruby/RubyKernel.java:1205:in `catch'
from /Users/paulcowan/.rvm/gems/jruby-1.6.3/gems/railties-3.1.0.rc5/lib/rails/commands/console.rb:45:in `start'
from /Users/paulcowan/.rvm/gems/jruby-1.6.3/gems/railties-3.1.0.rc5/lib/rails/commands/console.rb:8:in `start'
from /Users/paulcowan/.rvm/gems/jruby-1.6.3/gems/railties-3.1.0.rc5/lib/rails/commands.rb:40:in `(root)'
from org/jruby/RubyKernel.java:1047:in `require'
from script/rails:6:in `(root)'
Я получаю эту ошибку:
ArgumentError: неверное количество аргументов (3 для 2)
Довольно много с Rails 3.1r5.Все это выглядит фубар.Кто-нибудь еще сталкивался с этими проблемами?
Я упомянул нечто очень похожее здесь :
ActiverREcord, похоже, не работает.
Вот что я использую для доступа к данным в jruby:
gem 'activerecord-jdbc-adapter'
gem 'activerecord-jdbcsqlite3-adapter'
gem 'jdbc-sqlite3', :require => false
Кто-нибудь еще сталкивался с этими проблемами?