On 9 Dec 2008, at 19:05, gaveeno wrote:
> > I'm having a problem extending ActiveRecord with custom validations > based on the "Write Custom Validations" recipe from Advanced Rails > Recipes. As far as I can tell, I've followed the instructions exactly > but for some reason this isn't working and it's driving me crazy. > I've tried making the methods in the custom validations module class > methods (self.validates...) as well as the way they are below (which > is the way they are in the instructions). > > Any suggestions? > Have you tried requiring it from an initializer, not the bottom of environment.rb ? Fred > Thanks! > Gavin > > *** > lib/custom_validations.rb > > module CustomValidations > def validates_phone(*attr_names) > attr_names.each do |attr_name| > validates_format_of attr_name, > :with => /^[\(\)0-9\- \+\.]{10,20} *[extension\.]{0,9} * > [0-9]{0,5}$/i, > :message => "invalid" > end > end > def validates_email(*attr_names) > attr_names.each do |attr_name| > validates_format_of attr_name, > :with => /(^([EMAIL > PROTECTED])@((?:[-_a-z0-9]+\.)+[a-z]{2,})$)|(^$)/ > i, > :message => "invalid" > end > end > end > ActiveRecord::Base.extend(CustomValidations) > > *** > config/environment.rb > > # Be sure to restart your server when you modify this file > > # Uncomment below to force Rails into production mode when > # you don't control web/app server and can't set it the proper way > ENV['RAILS_ENV'] ||= 'production' > > #normal environment.rb stuff > > end > > require 'custom_validations' > > *** > models/user.rb > > class User < ActiveRecord::Base > validates_email :email > end > > *** > error from console when starting server > > /vendor/rails/activerecord/lib/active_record/base.rb:1667:in > `method_missing': undefined method `validates_email' for #<Class: > 0x31ac9c8> (NoMethodError) > > > --~--~---------~--~----~------------~-------~--~----~ 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 rubyonrails-talk@googlegroups.com 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 -~----------~----~----~----~------~----~------~--~---