0
這是我的Rakefile未定義的方法`alias_method_chain'無軌遷移
require 'bundler'
Bundler.setup
require 'active_record'
require 'sqlite3'
require 'yaml'
require 'logger'
task :migrate => :environment do
ActiveRecord::Migrator.migrate('db/migrate', ENV["VERSION"] ? ENV["VERSION"].to_i : nil)
end
task :environment do
ActiveRecord::Base.establish_connection(YAML::load(File.open('config/database.yaml'))['development'])
ActiveRecord::Base.logger = Logger.new(STDOUT)
end
當我執行我得到這個錯誤的任務:
rake aborted!
/usr/local/rvm/gems/[email protected]/gems/activerecord-2.3.18/lib/active_record/base.rb:2449: warning: already initialized constant Class::VALID_FIND_OPTIONS
/usr/local/rvm/gems/[email protected]/gems/activerecord-2.3.18/lib/active_record/base.rb:2449: warning: previous definition of VALID_FIND_OPTIONS was here
undefined method `alias_method_chain' for #<Class:0x00000001606340>
/usr/local/rvm/gems/[email protected]/gems/activerecord-2.3.18/lib/active_record/base.rb:2002:in `method_missing'
/usr/local/rvm/gems/[email protected]/gems/activerecord-2.3.18/lib/active_record/validations.rb:387:in `block in included'
/usr/local/rvm/gems/[email protected]/gems/activerecord-2.3.18/lib/active_record/validations.rb:386:in `class_eval'
/usr/local/rvm/gems/[email protected]/gems/activerecord-2.3.18/lib/active_record/validations.rb:386:in `included'
/usr/local/rvm/gems/[email protected]/gems/activerecord-2.3.18/lib/active_record/base.rb:3210:in `include'
/usr/local/rvm/gems/[email protected]/gems/activerecord-2.3.18/lib/active_record/base.rb:3210:in `block in <module:ActiveRecord>'
/usr/local/rvm/gems/[email protected]/gems/activerecord-2.3.18/lib/active_record/base.rb:3208:in `class_eval'
/usr/local/rvm/gems/[email protected]/gems/activerecord-2.3.18/lib/active_record/base.rb:3208:in `<module:ActiveRecord>'
/usr/local/rvm/gems/[email protected]/gems/activerecord-2.3.18/lib/active_record/base.rb:5:in `<top (required)>'
/home/marco/desenv/technical_analysis/Rakefile:14:in `block in <top (required)>'
/usr/local/rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/task.rb:246:in `call'
/usr/local/rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/task.rb:246:in `block in execute'
我有一些調試和一些測試... 然後我轉移到3.2.13版本的活動記錄,並按預期工作。我沒有找到3.2.18版本的任何文檔...
我不介意使用3.2.13版本,但我對此很好奇。
我有類似的問題。 ('未定義的方法'alias_method_chain'',紅寶石1.8.7和導軌2.3.8)。我嘗試讓'alias_method_chain'在解釋器中工作,首先使用'require'rubygems「'和'require」active_support「',但沒有成功 - 仍然是'未定義的方法'。亂七八糟,發現用簡單的方法'test1'和'test2'嘗試'ActiveSupport.alias_method_chain:test1,:test2'仍然失敗,但給出了一個不同的錯誤:'未定義的方法'test1_with_test2'用於模塊'ActiveSupport'。 – Erhannis