如何让rails模型根据环境类型有条件地建立连接

时间:2013-06-13 15:14:33

标签: ruby-on-rails ruby activerecord

我有一个看起来像这样的rails模型:

class Db_Prod_Write < ActiveRecord::Base
    establish_connection :prod_write 
    self.abstract_class = true
end

:prod_write是我的database.yaml文件中定义的生产环境。

此模型(Db_Prod_Write)正在另一个模型中用于建立连接的方法中。问题是,当方法在QA环境中运行时,它仍然在生产中运行该方法。有没有办法让我在上面的代码中使establish_connection :prod_write有条件,这样它才能确定环境是否生产?

提前谢谢。

2 个答案:

答案 0 :(得分:2)

establish_connection(:prod_write) if Rails.env.production?

答案 1 :(得分:1)

测试以下任何一项:

  • ENV['RAILS_ENV']
  • RAILS_ENV
  • Rails.env
  • Rails.env.production?