Here is the method that is blowing up:
===================== greeting.rb ==============================
class Greeting < ActiveRecord::Base
after_initialize :check_greet
validates_uniqueness_of :count
def check_greet
self.language = language.capitalize
end
end
And here is the backtrace I get when I run the unit test posted earlier:
Loaded suite
/home/ded/.rvm/gems/[email protected]/gems/rake-0.9.1/lib/rake/rake_test_loader
Started
E
Finished in 0.280612 seconds.
- Error:
test_uniqueness_of_count(GreetingTest):
ActiveModel::MissingAttributeError: missing attribute: language
/home/ded/Rails/demo/app/models/greeting.rb:6:in `check_greet’
/home/ded/.rvm/gems/[email protected]/gems/activesupport-3.0.3/lib/active_support/callbacks.rb:415:in
`_run_initialize_callbacks’
/home/ded/.rvm/gems/[email protected]/gems/activerecord-3.0.3/lib/active_record/base.rb:1453:in
`init_with’
/home/ded/.rvm/gems/[email protected]/gems/activerecord-3.0.3/lib/active_record/base.rb:909:in
`instantiate’
/home/ded/.rvm/gems/[email protected]/gems/activerecord-3.0.3/lib/active_record/base.rb:467:in
`block in find_by_sql’
/home/ded/.rvm/gems/[email protected]/gems/activerecord-3.0.3/lib/active_record/base.rb:467:in
`collect!’
/home/ded/.rvm/gems/[email protected]/gems/activerecord-3.0.3/lib/active_record/base.rb:467:in
`find_by_sql’
/home/ded/.rvm/gems/[email protected]/gems/activerecord-3.0.3/lib/active_record/relation.rb:64:in
`to_a’
/home/ded/.rvm/gems/[email protected]/gems/activerecord-3.0.3/lib/active_record/relation/finder_methods.rb:333:in
`find_first’
/home/ded/.rvm/gems/[email protected]/gems/activerecord-3.0.3/lib/active_record/relation/finder_methods.rb:122:in
`first’
/home/ded/.rvm/gems/[email protected]/gems/activerecord-3.0.3/lib/active_record/relation/finder_methods.rb:180:in
`exists?’
/home/ded/.rvm/gems/[email protected]/gems/activerecord-3.0.3/lib/active_record/validations/uniqueness.rb:39:in
`validate_each’
/home/ded/.rvm/gems/[email protected]/gems/activemodel-3.0.3/lib/active_model/validator.rb:154:in
`block in validate’
/home/ded/.rvm/gems/[email protected]/gems/activemodel-3.0.3/lib/active_model/validator.rb:151:in
`each’
/home/ded/.rvm/gems/[email protected]/gems/activemodel-3.0.3/lib/active_model/validator.rb:151:in
`validate’
/home/ded/.rvm/gems/[email protected]/gems/activesupport-3.0.3/lib/active_support/callbacks.rb:314:in
`_callback_before_7’
/home/ded/.rvm/gems/[email protected]/gems/activesupport-3.0.3/lib/active_support/callbacks.rb:414:in
`_run_validate_callbacks’
/home/ded/.rvm/gems/[email protected]/gems/activemodel-3.0.3/lib/active_model/validations.rb:212:in
`run_validations!’
/home/ded/.rvm/gems/[email protected]/gems/activemodel-3.0.3/lib/active_model/validations/callbacks.rb:67:in
`block in run_validations!’
/home/ded/.rvm/gems/[email protected]/gems/activesupport-3.0.3/lib/active_support/callbacks.rb:413:in
`_run_validation_callbacks’
/home/ded/.rvm/gems/[email protected]/gems/activemodel-3.0.3/lib/active_model/validations/callbacks.rb:67:in
`run_validations!’
/home/ded/.rvm/gems/[email protected]/gems/activemodel-3.0.3/lib/active_model/validations.rb:179:in
`valid?’
/home/ded/.rvm/gems/[email protected]/gems/activerecord-3.0.3/lib/active_record/validations.rb:55:in
valid?' /home/ded/Rails/demo/test/unit/greeting_test.rb:7:in
block in
class:GreetingTest’
1 tests, 0 assertions, 0 failures, 1 errors, 0 skips
Test run options: --seed 44283
rake aborted!
Command failed with status (1):
[/home/ded/.rvm/rubies/ruby-1.9.2-p180/bin/…]