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

yll*_*ate 1 ruby ruby-on-rails ruby-on-rails-3

我想只允许在production应用程序的其他环境中进行某些验证.

例如,我试图添加:

if Rails.env.production?
  validates :email, :uniqueness => true
  validates :phone, :uniqueness => true
end
Run Code Online (Sandbox Code Playgroud)

但是这不起作用. 如何仅将验证添加到特定环境模式?

San*_*ing 6

试试这个 -

validates :email, :uniqueness => true, :if => lambda{ Rails.env.production?}
validates :phone, :uniqueness => true, :if => lambda{ Rails.env.production?}
Run Code Online (Sandbox Code Playgroud)