The :if clauses should be symbols, not strings. BTW, bumping a post
twice in the space of an hour is a great way to get the group to
ignore you.

--Matt Jones

On Aug 31, 2:57 pm, Ritvvij <[email protected]> wrote:
> Can someone please assist on this?
>
> On Aug 31, 8:34 am, Ritvvij <[email protected]> wrote:
>
>
>
> > The exact exception is
>
> > undefined local variable or method `validate_country' for #<Contact:
> > 0xb7116d9c>
> > /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/
> > attribute_methods.rb:260:in `method_missing'
> > /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/
> > callbacks.rb:180:in `evaluate_method'
> > /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/
> > callbacks.rb:180:in `evaluate_method'
> > /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/
> > callbacks.rb:180:in `instance_eval'
> > /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/
> > callbacks.rb:180:in `evaluate_method'
> > /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/
> > callbacks.rb:195:in `should_run_callback?'
> > /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/
> > callbacks.rb:180:in `all?'
> > /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/
> > callbacks.rb:195:in `each'
> > /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/
> > callbacks.rb:195:in `all?'
> > /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/
> > callbacks.rb:195:in `should_run_callback?'
> > /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/
> > callbacks.rb:166:in `call'
> > /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/
> > callbacks.rb:90:in `run'
> > /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/
> > callbacks.rb:90:in `each'
> > /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/
> > callbacks.rb:90:in `send'
> > /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/
> > callbacks.rb:90:in `run'
> > /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/
> > callbacks.rb:276:in `run_callbacks'
> > /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/
> > validations.rb:1029:in `valid_without_callbacks?'
> > /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/
> > callbacks.rb:315:in `valid?'
> > /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/
> > associations/association_proxy.rb:221:in `send'
> > /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/
> > associations/association_proxy.rb:221:in `method_missing'
> > /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/
> > autosave_association.rb:249:in `association_valid?'
> > /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/
> > autosave_association.rb:229:in `validate_single_association'
> > /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/
> > autosave_association.rb:183:in
> > `validate_associated_records_for_contact'
> > /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/
> > callbacks.rb:180:in `evaluate_method'
> > /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/
> > callbacks.rb:180:in `evaluate_method'
> > /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/
> > callbacks.rb:180:in `instance_eval'
> > /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/
> > callbacks.rb:180:in `evaluate_method'
> > /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/
> > callbacks.rb:166:in `call'
> > /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/
> > callbacks.rb:90:in `run'
> > /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/
> > callbacks.rb:90:in `each'
> > /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/
> > callbacks.rb:90:in `send'
> > /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/
> > callbacks.rb:90:in `run'
> > /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/
> > callbacks.rb:276:in `run_callbacks'
> > /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/
> > validations.rb:1029:in `valid_without_callbacks?'
> > /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/
> > callbacks.rb:315:in `valid?'
> > /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/
> > validations.rb:1008:in `save_without_dirty'
> > /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/
> > dirty.rb:79:in `save_without_transactions'
> > /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/
> > transactions.rb:229:in `send'
> > /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/
> > transactions.rb:229:in `with_transaction_returning_status'
> > /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/
> > connection_adapters/abstract/database_statements.rb:136:in
> > `transaction'
> > /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/
> > transactions.rb:182:in `transaction'
> > /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/
> > transactions.rb:228:in `with_transaction_returning_status'
> > /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/
> > transactions.rb:196:in `save'
> > /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/
> > transactions.rb:208:in `rollback_active_record_state!'
> > /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/
> > transactions.rb:196:in `save'
> > /home/viridian/rails_apps/backstage/app/controllers/
> > users_controller.rb:84:in `create'
>
> > On Aug 31, 8:23 am, Ritvvij <[email protected]> wrote:
>
> > > Can someone please help us with this error?
> > > It's blocking basic functionality of our application
>
> > > On Aug 31, 7:31 am, Ritvvij <[email protected]> wrote:
>
> > > > Hi,
>
> > > > We are facing a very weird situation. We do not face the problem in
> > > > our local but face it on the web service where we hosted. Seems like
> > > > the kinda of issues we have in java where either code stayed in cache
> > > > and not clearing even after server restart or ear deployment issues,
> > > > etc.
>
> > > > Our model is as follows. User can have one contact. The contact
> > > > sometimes should have country and state mandatory.
>
> > > > class User < ActiveRecord::Base
> > > >   has_one :contact, :as => :contactable
>
> > > > class Contact < ActiveRecord::Base
> > > >   belongs_to :contactable, :polymorphic => true
> > > >   attr_accessor :validate_country, :validate_state
> > > >   validates_presence_of :country, :if => "validate_country"
> > > >   validates_presence_of :state, :if => "validate_state"
>
> > > > We are not calling @user.contact.validate_country = true anywhere but
> > > > when doing @user.save on creation, we get an error that cannot find
> > > > function validate_country.
>
> > > > We also tried some varieties of code.
> > > >   attr_accessor "validate_country", "validate_state"
> > > >   attr_accessible :validate_country, :validate_state
> > > >   attr_accessible "validate_country", "validate_state"
>
> > > > Can anything think of something?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to