【问题标题】:Evaluating Rails 4 validations on conditions根据条件评估 Rails 4 验证
【发布时间】:2014-02-15 19:23:47
【问题描述】:

假设我有一个带有一些验证的 ActiveRecord 模型。

class Thing < ActiveRecord::Base
  validates_presence_of :title
  validates_uniqueness_of :slug
end

我正在寻找一种方法来确定是否通过创建或更新此模型的对象来评估验证。

这样的东西有用吗?

#pseudocode
class Thing < ActiveRecord::Base
  if conditions
      validates_presence_of :title
      validates_uniqueness_of :slug
  end
end

对此有最佳实践吗?还是整个做法都是失礼?

【问题讨论】:

标签: ruby-on-rails


【解决方案1】:

如果满足您的条件要求,您可以使用可用的Common Validation Options。 但是,如果您有一些特定条件,请查看Conditional Validation ROR 指南中指定的部分。

【讨论】:

  • 当我问这个问题时我想到的一个例子是我想正常执行验证,但在 Rails 控制台中工作时跳过一些验证。
  • 这个答案有帮助并且完全适用,但是您对我给出的环境条件示例有何看法?
  • rails console 不是一个单独的环境。控制台命令允许您从命令行与 Rails 应用程序进行交互。在底部,rails 控制台使用 IRB,所以如果您曾经使用过它,那么您就在家中。这对于在不接触网站的情况下使用代码测试快速想法和在服务器端更改数据非常有用。
  • 也许环境是错误的词。我得到了我想要的东西。我将验证放在一个条件周围,如果未使用控制台,则该条件评估为 true,从而在控制台中跳过验证。感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 2020-11-24
  • 2017-04-24
  • 2012-11-16
  • 1970-01-01
  • 2013-12-22
  • 1970-01-01
  • 1970-01-01
  • 2015-05-14
相关资源
最近更新 更多