【问题标题】:setting twitter gem not to send tweets on my dev and test environment将 twitter gem 设置为不在我的开发和测试环境中发送推文
【发布时间】:2012-01-14 12:03:37
【问题描述】:

如何设置我的 twitter gem 不在我的开发和测试环境中发送推文?

另外我正在使用 Heroku,但我不知道如何告诉 Heroku 哪个应用是测试哪个是产品...

我按照你的提示在我的代码中添加了这个:

      if Rails.env.staging? 
        Notifier.send_email(msg)
      elsif Rails.env.production?
        Twitter.update(msg)
      else
        logger.info "JOEL - #msg}"
        Notifier.send_email(msg)
      end

无论出于何种原因,虽然我设置了 RACK_ENV= staging 并在我的环境文件夹中创建了 staging.rb ...我仍然没有设法获得 Rails.env.staging? = 真...

我快到了,但还不完全……

任何提示,

乔尔

【问题讨论】:

    标签: ruby-on-rails twitter heroku development-environment production-environment


    【解决方案1】:

    添加到 Vibhu 的答案...

    你需要把代码包装在这个

    if Rails.env.production?
      # Code here will only execute in your production environment
    end
    

    然后您需要在 Heroku 上为您的 Heroku 测试/开发服务器指定不同的环境,以便它知道不在该特定 Heroku 服务器上发送任何内容:http://devcenter.heroku.com/articles/multiple-environments

    【讨论】:

    • 嘿,我遵循了您的提示和文档,但我仍然面临一个小问题。我无法获得 Rails.env.staging?在我的暂存环境中为真。查看我的原始帖子,我添加了我正在使用的代码......干杯,乔尔
    • 你重启服务器了吗? heroku restart --app app_name_here
    【解决方案2】:

    你在 Rails 3 上吗?你总是可以包装任何你只想在这样的环境中执行的代码:

    if Rails.env.production?
      #Code here will only execute in your production (Heroku) environment
    end
    

    【讨论】:

      【解决方案3】:

      有问题吗?与 Heroku。但是您应该将 RACK_ENV 和 RAILS_ENV 配置变量都设置为暂存。

      【讨论】:

        猜你喜欢
        • 2017-03-20
        • 1970-01-01
        • 1970-01-01
        • 2020-07-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-15
        相关资源
        最近更新 更多