2

尝试从 Rails 中的模块建立连接,但没有连接到服务器。我已经在 Rails 之外测试了相同的代码,它工作正常。

require 'rubygems'
require 'net-ldap'

module Foo
  module Bar
    class User

    attr_reader :ldap_connection

    def initialize
      @ldap = Net::LDAP.new(:host => "<ip-number>", :port => 389)
      @treebase = "ou=People, dc=foo, dc=bar"
      username = "cn=Manager"
      password = "password"
      @ldap.auth username, password

      begin
        if @ldap.bind
          @ldap_connection = true
        else
          @ldap_connection = false
        end
        rescue Net::LDAP::LdapError
          @ldap_connection = false
        end
      end 
    end
  end
end

得到Net::LDAP::LdapError: no connection to server异常。

4

1 回答 1

1

我找到了解决 Rails 中自动加载问题的解决方案/解决方法。添加了一个新的初始化程序以确保 lib/ 下的所有 Ruby 文件都需要:

添加config/initializers/require_files_in_lib.rb了此代码

Dir[Rails.root + 'lib/**/*.rb'].each do |file|
    require file
end

阅读有关解决方法的更多信息:Rails 3 library not loading until require

于 2013-02-28T11:24:37.747 回答