how to store ldap data in ruby on rails application database?

i have created a web app with rails4 and authentication system is developed with devise_ldap_authenticable gem. where i am using username for login not email. but i want to store email in my users table. My user model is

class User < ActiveRecord::Base

# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
#@attr_accessible :email, :password, :password_confirmation
# not required for LDAP :recoverable, :registerable, :validatable
devise :ldap_authenticatable, :rememberable, :trackable
validates_uniqueness_of :email, :allow_blank => true
before_save :get_ldap_email
def get_ldap_email = Devise::LDAP::Adapter.get_ldap_param(self.username, "mail")

But in users table of email field its storing data like

`email` = '--- !ruby/array:Net::BER::BerIdentifiedArray\ninternal:\n- !ruby/string:Net::BER::BerIdentifiedString\n str: !binary |-\n cy5naG9zaEBzYW1zdW5nLmNvbQ==\n ber_identifier: 4\nivars:\n :@ber_identifier: 49\n'
log says, LDAP: Requested param mail has value [""]

How i will store this value to my users table. where im doing wrong? please help me out.

I have not used that, but I suspect that get_ldap_param is not
returning what you expect. I suggest that you insert before the line something like
puts inspect Devise::LDAP::Adapter.get_ldap_param(self.username, "mail")
which will show exactly what it returns, in the server window.


Check this commit to the gitlab project …

On line #24 … your_string.to_s.force_encoding(“utf-8”)