【问题标题】:Ruby Cannot Determine Timezone From Nil (Argument Error)Ruby 无法根据 Nil 确定时区(参数错误)
【发布时间】:2017-01-29 15:56:23
【问题描述】:

我用 ruby​​ 写了一些代码。当我尝试运行代码时出现此错误:

/Users/macbook/.rvm/gems/ruby-2.2.2/gems/rufus-scheduler-3.3.3/lib/rufus/scheduler/zotime.rb:41:
  in `initialize':
  cannot determine timezone from nil (etz:nil,tnz:"+03",tzid:nil) (ArgumentError)

编辑:

我正在使用电子书 gem。我只添加了消费者密钥和访问令牌。我的 .rb 文件是:

require 'twitter_ebooks'

class MyBot < Ebooks::Bot
  def configure
    self.consumer_key = 'Consumer Key'
    self.consumer_secret = 'Consumer Secret'
    self.blacklist = ['tnietzschequote']

    self.delay_range = 1..6
  end

  def on_startup
    scheduler.every '24h' do
    end
  end

  def on_message(dm)
  end

  def on_follow(user)
  end

  def on_mention(tweet)
  end

  def on_timeline(tweet)
  end

  def on_favorite(user, tweet)
  end

  def on_retweet(tweet)
  end
end

MyBot.new("twitter_id") do |bot|
  bot.access_token = "Access Token" # Token connecting the app to this account
  bot.access_token_secret = "Access Token Secret" 
end

如果有人帮助我,我会很高兴。

【问题讨论】:

  • 我们需要一些代码来查看...
  • 我添加了一些代码。

标签: ruby null timezone rufus-scheduler argument-error


【解决方案1】:

在调度程序实例化之前明确设置ENV['TZ']

ENV['TZ'] = 'Asia/Shanghai' # your time zone 
  # or
ENV['TZ'] = Time.zone.tzinfo.identifier
scheduler = Rufus::Scheduler.new
# ...

应该可以解决您的问题:)

https://github.com/jmettraux/rufus-scheduler#i-get-zotimerb41in-initialize-cannot-determine-timezone-from-nil

【讨论】:

    【解决方案2】:

    这就是全部代码吗? 我运行了它,对我来说效果很好。

    mb = MyBot.new("twitter_id") do |bot|
      bot.access_token = "Access Token" # Token connecting the app to this account
      bot.access_token_secret = "Access Token Secret"
    end
    
    p mb.access_token
    p mb.access_token_secret
    

    这两个都产生了适当的值。

    错误表明第 41 行存在问题,但您发布的代码不是 41 行。也许更多信息会有所帮助...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-21
      • 2018-02-19
      • 2017-10-29
      • 2013-10-14
      • 1970-01-01
      • 1970-01-01
      • 2016-01-09
      相关资源
      最近更新 更多