Getting to grips with ActiveLDAP

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.