2013-07-17 2 views
1

Когда я пытаюсь запуститьНеопределенные метод `arel_attributes_values' для класса` ActiveRecord :: Base»

$ rails console 

Я получаю следующую ошибку

/usr/local/lib/ruby/gems/2.0.0-p247/gems/activesupport-4.0.0/lib/active_support/core_ext/module/aliasing.rb:32:in `alias_method': undefined method `arel_attributes_values' for class `ActiveRecord::Base' (NameError) 

.......... ... Другие ошибки следуют ... что только tracebacks

Мои версии являются

$ gem -v 
2.0.5 
$ ruby -v 
ruby 2.0.0p247 (2013-06-27 revision 41647) [x86_64-linux] 
$ rails -v 
Rails 4.0.0 
$ rvm -v 
rvm 1.21.11 (stable) by Wayne E. Seguin <[email protected]>, Michal Papis <[email protected]> [https://rvm.io/] 
$ uname -a 
Linux cdv-web01 2.6.18-274.el5 #1 SMP Fri Jul 8 17:36:59 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux 

Должен ли я установить драгоценный камень, о котором я не знаю?

UPDATE: В комплект входит вся отслеживающий ...

Warning: NLS_LANG is not set. fallback to US7ASCII. 
/home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0/lib/active_support/core_ext/module/aliasing.rb:32:in `alias_method': undefined method `arel_attributes_values' for class `ActiveRecord::Base' (NameError) 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0/lib/active_support/core_ext/module/aliasing.rb:32:in `alias_method_chain' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/activerecord-oracle_enhanced-adapter-1.4.2/lib/active_record/connection_adapters/oracle_enhanced_base_ext.rb:116:in `<class:Base>' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/activerecord-oracle_enhanced-adapter-1.4.2/lib/active_record/connection_adapters/oracle_enhanced_base_ext.rb:2:in `<module:ActiveRecord>' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/activerecord-oracle_enhanced-adapter-1.4.2/lib/active_record/connection_adapters/oracle_enhanced_base_ext.rb:1:in `<top (required)>' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in `require' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in `block in require' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:211:in `block in load_dependency' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:615:in `new_constants_in' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:211:in `load_dependency' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in `require' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/activerecord-oracle_enhanced-adapter-1.4.2/lib/active_record/connection_adapters/oracle_enhanced_adapter.rb:38:in `<top (required)>' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in `require' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in `block in require' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:211:in `block in load_dependency' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:615:in `new_constants_in' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:211:in `load_dependency' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in `require' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/activerecord-oracle_enhanced-adapter-1.4.2/lib/activerecord-oracle_enhanced-adapter.rb:12:in `block in <class:OracleEnhancedRailtie>' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0/lib/active_support/lazy_load_hooks.rb:38:in `instance_eval' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0/lib/active_support/lazy_load_hooks.rb:38:in `execute_hook' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0/lib/active_support/lazy_load_hooks.rb:45:in `block in run_load_hooks' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0/lib/active_support/lazy_load_hooks.rb:44:in `each' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0/lib/active_support/lazy_load_hooks.rb:44:in `run_load_hooks' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/activerecord-4.0.0/lib/active_record/base.rb:322:in `<module:ActiveRecord>' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/activerecord-4.0.0/lib/active_record/base.rb:22:in `<top (required)>' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/maintenance_scheduler/app/models/cmts_device.rb:1:in `<top (required)>' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:423:in `load' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:423:in `block in load_file' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:615:in `new_constants_in' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:422:in `load_file' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:323:in `require_or_load' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:288:in `depend_on' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:206:in `require_dependency' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/engine.rb:465:in `block (2 levels) in eager_load!' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/engine.rb:464:in `each' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/engine.rb:464:in `block in eager_load!' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/engine.rb:462:in `each' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/engine.rb:462:in `eager_load!' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/engine.rb:347:in `eager_load!' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/application/finisher.rb:56:in `each' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/application/finisher.rb:56:in `block in <module:Finisher>' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/initializable.rb:30:in `instance_exec' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/initializable.rb:30:in `run' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/initializable.rb:55:in `block in run_initializers' 
     from /home/aayerd200/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/tsort.rb:150:in `block in tsort_each' 
     from /home/aayerd200/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/tsort.rb:183:in `block (2 levels) in each_strongly_connected_component' 
     from /home/aayerd200/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/tsort.rb:219:in `each_strongly_connected_component_from' 
     from /home/aayerd200/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/tsort.rb:182:in `block in each_strongly_connected_component' 
     from /home/aayerd200/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/tsort.rb:180:in `each' 
     from /home/aayerd200/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/tsort.rb:180:in `each_strongly_connected_component' 
     from /home/aayerd200/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/tsort.rb:148:in `tsort_each' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/initializable.rb:54:in `run_initializers' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/application.rb:215:in `initialize!' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/railtie/configurable.rb:30:in `method_missing' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/maintenance_scheduler/config/environment.rb:7:in `<top (required)>' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/application.rb:189:in `require' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/application.rb:189:in `require_environment!' 
     from /home/aayerd200/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/commands.rb:63:in `<top (required)>' 
     from script/rails:6:in `require' 
     from script/rails:6:in `<main>' 

С ReadyForRails4 ...

Ввод в ...

source 'http://rubygems.org' 

gem 'rails', '4.0.0' 

# Bundle edge Rails instead: 
# gem 'rails', :git => 'git://github.com/rails/rails.git' 

gem 'activerecord-oracle_enhanced-adapter' 
gem 'ruby-oci8' 
gem 'mysql2' 
gem 'prototype-rails' 

# Use unicorn as the web server 
# gem 'unicorn' 

# Deploy with Capistrano 
# gem 'capistrano' 

# To use debugger 
# gem 'ruby-debug' 

# Bundle the extra gems: 
# gem 'bj' 
# gem 'nokogiri' 
# gem 'sqlite3-ruby', :require => 'sqlite3' 
# gem 'aws-s3', :require => 'aws/s3' 

# Bundle gems for the local environment. Make sure to 
# put test-only gems in this group so their generators 
# and rake tasks are available in development mode: 
# group :development, :test do 
# gem 'webrat' 
# end 

enter image description here

+1

Включите всю трассировку, если она упоминает, что любой из ваших файлов проекта включает их также. –

+0

Также может быть полезно вставить содержимое 'Gemfile' в [Ready for Rails 4?] (Http://ready4rails4.net/gemfile_check/new), чтобы убедиться, что все драгоценные камни, которые вы используете, совместимы. –

+0

это происходит на голом приложении? или тот, который вы настроили. у вас есть setup database.yml еще (любопытно, если это связано с DB) – Doon

ответ

7

Кажется, gem activerecord-oracle_enhanced-adapter не совместим с Rails 4.

Это файл, который должен иметь этот метод arel_attributes_value:

http://github.com/rails/rails/blob/master/activerecord/lib/ ...

А вот файл на 3,2-стабильной ветке.

http://github.com/rails/rails/blob/3-2-stable/activerecord/lib/ ...

Метод есть на втором файле (3,2-стабильный), но это не в первый (мастер). Так что, вероятно, удален в Rails 4.

Если бы я тебя, я бы просто вернуться к 3.2 на данный момент, но если вы хотите использовать Rails 4 в любом случае, кажется, есть отделение для Rails 4.

Так вы идете в Gemfile и измените строку

камень 'ActiveRecord-oracle_enhanced-адаптер'

в

камень 'ActiveRecord-oracle_enhanced-адаптер', GitHub: 'RSIM/оракула усиливается', филиал: 'rails4'

и bundle update. И это должно сделать это.

+0

Спасибо, что сделал. Я просто вернулся к 3.2.8, и он работает хорошо. Теперь просто проблема с тестированием соединения ... лучше для вас! – harmonickey

+0

Без проблем, помощник. Лучше для вас! – Doodad

+0

github repo не совсем корректен, должен быть http: //github.com/rsim/oracle ... иначе он запрашивает имя пользователя – mahatmanich

0

Обновленная версия activerecord-oracle_enhanced-adapter gem поддерживает рельсы 4.

Добавьте это в драгоценный камень файл

gem "activerecord-oracle_enhanced-adapter", "~> 1.5.0" 

Это работало для меня Rails 4.0.2

Надеется, что это помогает.

PS: Вот github link для драгоценного камня.

Смежные вопросы