Ruby on Rails Tuesday, November 29, 2011

Rails 3.1 and I'm working through activeldap which is not exactly ActiveRecord

class Group < ActiveLdap::Base
def validate
errors.add(:base, "You must enter a value for the 'Common name'") unless self.cn.to_s != ''
errors.add(:base, "You must enter a value for the 'GID Number'") unless self.gidNumber.to_s != ''
errors.add(:base, "You must enter a value for the 'Description'") unless self.description.to_s != ''
errors.add(:base, "You must enter a value for the 'sambaGroupType'") unless self["objectclass"].include? "sambaGroupMapping"
return errors
end

irb(main):014:0> @group = Group.new
=> #<Group objectClass:<top, posixGroup>, must:<cn, gidNumber, objectClass>, may:<description, memberUid, userPassword>, cn: [], commonName: [], description: [], gidNumber: [], memberUid: [], objectClass: ["top", "PosixGroup"], userPassword: []>

irb(main):015:0> @group.validate
=> #<ActiveModel::Errors:0xa4b706c @base=#<Group objectClass:<top, posixGroup>, must:<cn, gidNumber, objectClass>, may:<description, memberUid, userPassword>, cn: [], commonName: [], description: [], gidNumber: [], memberUid: [], objectClass: ["top", "PosixGroup"], userPassword: []>, @messages=#<OrderedHash {:base=>["You must enter a value for the 'Common name'", "You must enter a value for the 'GID Number'", "You must enter a value for the 'Description'", "You must enter a value for the 'sambaGroupType'"]}>>

irb(main):016:0> @group.validate.messages.each do |a|
irb(main):017:1* puts a
irb(main):018:1> end
base
You must enter a value for the 'Common name'
You must enter a value for the 'GID Number'
You must enter a value for the 'Description'
You must enter a value for the 'sambaGroupType'
You must enter a value for the 'Common name'
You must enter a value for the 'GID Number'
You must enter a value for the 'Description'
You must enter a value for the 'sambaGroupType'

Or if I use my rails app instead and put @group.validate into flash hash, I also get duplication...

base You must enter a value for the 'Description' base You must enter a value for the 'Description'

(and I really would prefer to get the 'base' out of there altogether but can't seem to find a way to do that either)

--
Craig White ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ craig.white@ttiltd.com
1.800.869.6908 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ www.ttiassessments.com

Need help communicating between generations at work to achieve your desired success? Let us help!

--
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 rubyonrails-talk+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

No comments:

Post a Comment