生产的默认范围,但不在开发中

时间:2013-08-13 14:34:40

标签: ruby-on-rails ruby-on-rails-3 rails-activerecord default-scope

我有一个模型,我想将结果限制为特定客户端的结果,因此客户端编号1(我的数据库也包含其他客户端数据)

所以我有这样的范围:

default_scope {
  where(
    :owner_id => 1,
    :someother_criteria => false
  )
}

我希望这个范围(:owner_id => 1部分)在生产中处于活动状态但不在开发中,因为我没有那些数据并且想要使用我拥有的数据来测试ui。

1 个答案:

答案 0 :(得分:1)

你可以试试这个:

if Rails.env.production?
  # define your scope
end

或者,如果要在不同的环境中定义不同的范围,可以执行以下操作:

default_scope do
  case Rails.env
  when 'production'
    # define production default scope
  when 'development'
    # define development default scope
  end
end