O modelo de gordura com validação em todos os casos sempre causa problemas no futuro. Portanto, minha solução é ShadowForm. Agora você pode ter seu modelo original sem validação e usar formulários quando precisar de validação específica. Isso funciona com ActiveRecord e ActiveModel também.
Como funciona
Você tem seu registro ativo ou modelo de modelo ativo :
class User
include ActiveModel::Model
attr_accessor :name, :email, :password
end
E por exemplo formulário de registro:
class UserRegistrationForm < ShadowForm
shadow_of User
validation do
validates :email, presence: true
validates :password, presence: true
end
end
E agora você UserRegistrationForm
gosta de User
+Validation
Se você precisar de um formulário para atualização de e-mail, basta criar um novo como este:
class UserEmailUpdateForm < ShadowForm
shadow_of User
validation do
validates :email, presence: true
end
end
Verifique :