Oui, ce que dit Cyril marche mais depuis j'ai change pour:
(dans le modele document.rb)
validate_on_create do |document|
document.must_have_a_file
end
def must_have_a_file
errors.add('You need to upload a file.', '') if filename.blank?
end
Merci!
On Jun 9, 6:02 pm, "Jean-François Trân" <[EMAIL PROTECTED]> wrote:
> Le 6 juin 2008 09:26, Cyril Mougel a écrit :
>
>
>
> > On Fri, Jun 6, 2008 at 1:54 AM, Thomas wrote:
> >> Je voudrais obliger la validation de l'attachment(le fichier) en
> >> creation (new document) et ne pas l'obliger en edition (edit
> >> document).
>
> >> Comment faire?
>
> > Ce qu'il faut c'est remplacer la methode :
>
> > def validates_as_attachment
> > validates_presence_of :size, :content_type, :filename
> > validate :attachment_attributes_valid?
> > end
>
> > que tu dois utiliser pour valider et mettre à la main ces validations
> > et ajouter des :if dedans. Tu créera ensuite une methode qui update
> > sans validation qui rempli la condition du if.
>
> Ce n'est pas plus simple d'écrire :
>
> validates_presence_of :size, :content_type, :filename, :on => :create
> validate_on_create :attachment_attributes_valid?
>
> que d'utiliser :if
>
> > Enfin dans ton edit ou new tu appeles la methode qui valid ou pas.
>
> C'est généralement dans les actions create et update, non ?
>
> > Il faut toujours déporter la logique dans le model. Le model ne peux pas
> > savoir si c'est edit ou new qui l'appele.
>
> -- Jean-François.
>
> --http://twitter.com/underflow_
--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse [EMAIL PROTECTED]
-~----------~----~----~----~------~----~------~--~---