From: Fox Date: 2007-01-23T05:31:43+09:00 Subject: getting to grips with ActiveLDAP ------=_Part_90220_1237364.1169497900775 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline hi all, I'm starting an application which uses OpenLDAP as the backend. I've installed activeldap and its requirements, however i'm at a loss for how to get it to work. From looking at various examples, I've put this code together: 1 require 'rubygems' 2 require_gem 'log4r' 3 require_gem 'ruby-activeldap' 4 5 class User < ActiveLdap::Base 6 ldap_mapping :dn_attribute=>'uid',:prefix=>'dc=office',:classes=>['staffAccount'] 7 end 8 ActiveLdap::Base.establish_connection( 9 :host =>"192.168.1.27", 10 :port =>389, 11 :bind_dn =>"cn=root,dc=office", 12 :password=>"secret") 13 14 user = User.find("admin@office*") 15 puts user.displayName 16 user.displayName = "testing" 17 unless user.save 18 puts "failed" 19 puts user.errors.full_messages 20 exit 1 21 end everything goes ok upto line 15 - it prints the displayName of that record, and i can print any other attributes. however, when i try to change anything, i get this: /usr/lib/ruby/gems/1.8/gems/ruby-activeldap-0.8.0/lib/active_ldap/adaptor/ldap.rb:288:in `operation': No such object (LDAP::NoSuchObject) from /usr/lib/ruby/gems/1.8/gems/ruby-activeldap-0.8.0/lib/active_ldap/timeout.rb:15:in `call' from /usr/lib/ruby/gems/1.8/gems/ruby-activeldap-0.8.0/lib/active_ldap/timeout.rb:15:in `alarm' from /usr/lib/ruby/gems/1.8/gems/ruby-activeldap-0.8.0/lib/active_ldap/adaptor/base.rb:19:in `with_timeout' from /usr/lib/ruby/gems/1.8/gems/ruby-activeldap-0.8.0/lib/active_ldap/adaptor/ldap.rb:296:in `with_timeout' from /usr/lib/ruby/gems/1.8/gems/ruby-activeldap-0.8.0/lib/active_ldap/adaptor/ldap.rb:284:in `operation' from /usr/lib/ruby/gems/1.8/gems/ruby-activeldap-0.8.0/lib/active_ldap/adaptor/ldap.rb:269:in `modify' from /usr/lib/ruby/gems/1.8/gems/ruby-activeldap-0.8.0/lib/active_ldap/base.rb:392:in `modify' from /usr/lib/ruby/gems/1.8/gems/ruby-activeldap-0.8.0/lib/active_ldap/base.rb:1337:in `update_without_callbacks' from /usr/lib/ruby/gems/1.8/gems/ruby-activeldap-0.8.0/lib/active_ldap/base.rb:1298:in `prepare_data_for_saving' from /usr/lib/ruby/gems/1.8/gems/ruby-activeldap-0.8.0/lib/active_ldap/base.rb:1333:in `update_without_callbacks' from /usr/lib/ruby/gems/1.8/gems/activerecord-1.15.1/lib/active_record/callbacks.rb:267:in `update' from /usr/lib/ruby/gems/1.8/gems/ruby-activeldap-0.8.0/lib/active_ldap/base.rb:1279:in `create_or_update_without_callbacks' from /usr/lib/ruby/gems/1.8/gems/activerecord-1.15.1/lib/active_record/callbacks.rb:242:in `create_or_update' from /usr/lib/ruby/gems/1.8/gems/ruby-activeldap-0.8.0/lib/active_ldap/base.rb:765:in `save_without_validation' from /usr/lib/ruby/gems/1.8/gems/activerecord-1.15.1/lib/active_record/validations.rb:752:in `save' I'm not sure what "No such object" is refering to? any thoughts? thanks, Ol. ------=_Part_90220_1237364.1169497900775--