所以我想做这样的事情,我一直在玩弄语法并环顾四周,但仍然没有雪茄。这可能吗?
validates :description, presence: false unless object.attached_model.description == "Custom"
has_many: :attached_model
所以我想做这样的事情,我一直在玩弄语法并环顾四周,但仍然没有雪茄。这可能吗?
validates :description, presence: false unless object.attached_model.description == "Custom"
has_many: :attached_model
validates :description, :presence => true,
:unless => Proc.new { |a| a.attached_model.description == "Custom" }
我看到 Yoshiji 先生也提到了这一点。您可以在指南中查看更多示例。但是请注意,您无法验证 :presence => false (这没有任何作用)。如果要验证它是否为空白,则需要编写自定义验证器。
validate :description_not_present
def description_not_present
errors.add(:description, "should be blank") if description.present? && a.attached_model.description != "Custom"
end
我在这里使用 attach_model (单数),因为这是您在示例中使用的,如果您只有 has_many 则相应地更改它,就像 MrYoshiji 指出的那样。