From: Rob Biedenharn Date: 2010-02-15T05:55:48+09:00 Subject: Re: Mon proprety isn't a string? On Feb 14, 2010, at 3:37 PM, Greg Ma wrote: > Hi, > I would simply like to remove spaces of the property "name" before > save > and update. > So i did the code below, but i get this error when I save or update a > tag. > #error > undefined method `strip' for nil:NilClass > > #Tag class > class Tag < ActiveRecord::Base > has_and_belongs_to_many :students > > attr_accessible :name > > validates_uniqueness_of :name > > before_save :remove_spaces > before_update :remove_spaces before_save will catch both create and update > > private > def remove_spaces > name = name.strip self.name = self.name.strip the "name = " part is enough to trick the interpreter into treating 'name' as a local rather than a bare method call. Using self.name forces the treatment as a method. -Rob > end > > end > > > > This is how i save or update my tag > #From another class > def tag_attributes=(tags_att) > splits = tags_att.split(',') > splits.each do |tag| > if !tags.find_by_name(tag) > tags.build(:name => tag) > end > end > end > -- > Posted via http://www.ruby-forum.com/. > Rob Biedenharn http://agileconsultingllc.com Rob@AgileConsultingLLC.com