我可以更改不同操作所需的验证规则吗?

Fin*_*nnn 5 validation ruby-on-rails ruby-on-rails-3

我有一个看起来像这样的模型 -

class Car < ActiveRecord::Base
  validates :name,:presence =>true
end
Run Code Online (Sandbox Code Playgroud)

我可以进行设置,以便在执行创建操作时不需要汽车的名称,但在执行"编辑"操作时是必需的吗?

tbu*_*ann 7

是的,这是可能的:

class Car < ActiveRecord::Base
  validates :name, presence: true, on: :update
end
Run Code Online (Sandbox Code Playgroud)

可能会看一下Active Record Validations和Callbacks Guide.