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]
-~----------~----~----~----~------~----~------~--~---

Répondre à