仅在Rails.env.production中进行某些验证?

时间:2012-03-09 21:03:47

标签: ruby-on-rails ruby ruby-on-rails-3

我想只允许production与其他环境中的某些应用验证。

例如,我试图添加:

if Rails.env.production?
  validates :email, :uniqueness => true
  validates :phone, :uniqueness => true
end

然而,这不起作用。 如何仅将验证添加到特定环境模式?

2 个答案:

答案 0 :(得分:6)

试试这个 -

validates :email, :uniqueness => true, :if => lambda{ Rails.env.production?}
validates :phone, :uniqueness => true, :if => lambda{ Rails.env.production?}

答案 1 :(得分:2)

完全同意评论,但如果您真的想这样做,请尝试:if选项

validates_uniqueness_of :email, :if => Rails.env.production?