Hello, I just got hold of the book 'Agile Web Development with Rails' and I have been following along. I just went through a segment of trying to add validation to a form. I added the following code, as instructed, to my app/models/Products.rb file: protected def validate errors.add(:Price, "should be positive") unless Price.nil? || Price >= 0.01 end with the exception of the upper-case P on Price, this is letter for letter (unless I just can't read today). When I try and submit the form I get this error. NameError in Admin#create uninitialized constant Price Can' figure this out at all. I've been following the tutorial to the letter and I'm sure if they had had this problem it would have been mentioned. Anyone have any ideas? I'm using the latest release of RoR, Mac OSX and MySQL 4.1 Thanks
on 2006-04-09 01:34
on 2006-04-09 01:43
On 4/8/06, Jason Wilson <email@example.com> wrote: > > protected > def validate > errors.add(:Price, "should be positive") unless Price.nil? || Price >= > 0.01 > end > > with the exception of the upper-case P on Price, this is letter for letter > (unless I just can't read today). > Uppercase words are considered constants or class names. lower case 'price' would be a local variable, you probably want to use '@price' (note the lower case too) since that would be an instance variable. So I'd try: protected def validate errors.add(:price, "should be positive") unless @price.nil? || @price >= 0.01 end I'm still just a noob though so take my advice with a grain of salt. -Clint
on 2006-04-09 02:10
Thanks, Clint, Issue resolved, it did work as typed once I switched the var to lower-case. I must have skipped over that part.