Ruby:未初始化常量(NameError)

Ruby:未初始化常量(NameError),ruby,Ruby,我在一个目录中有2个文件: user.rb 在sep文件bot.rb中,我有: 需要相对的“用户” User.new.get_userid 然而,这给了我: 未初始化的常量松弛::客户端名称错误 我试过使用require user,它给了我-require':无法加载这样的文件-user-LoadError 已尝试请求。/user,它会给我原始错误消息。尝试添加 require 'slack-ruby-client' 您需要在这里使用Slack::Web::Client。因此user.rb中的

我在一个目录中有2个文件:

user.rb

在sep文件bot.rb中,我有:

需要相对的“用户”

User.new.get_userid

然而,这给了我:

未初始化的常量松弛::客户端名称错误

我试过使用require user,它给了我-require':无法加载这样的文件-user-LoadError

已尝试请求。/user,它会给我原始错误消息。

尝试添加

require 'slack-ruby-client'
您需要在这里使用Slack::Web::Client。因此user.rb中的最终代码如下所示

require 'slack-ruby-client'

class User
 def initialize
  @token = SECRETS_DATA.fetch('token')
  @client = Slack::Web::Client.new token: @token
 end

 def get_user(userid)
  userinfo = @client.users_info(user: userid)['user']['profile']['email']
  userinfo.split('@').first
 end
end
哦,请不要忘记运行gem安装slack ruby客户端

如果需要,我们可以用同样的方式使用RealTimeClient

文档:

我尝试将slack api require'slack'添加到bot.rb文件中。我也试过你的建议。还是一样的错误。
require 'slack-ruby-client'

class User
 def initialize
  @token = SECRETS_DATA.fetch('token')
  @client = Slack::Web::Client.new token: @token
 end

 def get_user(userid)
  userinfo = @client.users_info(user: userid)['user']['profile']['email']
  userinfo.split('@').first
 end
end