Pour ma part, je suis en accord avec moi même. J'extrait tout le
comportement qui n'est pas directement relatif à la base de données et à la
persistance dans des services objects ou des form objects.


Le 4 mars 2014 10:11, Simon Courtois <[email protected]> a écrit :

> Je rejoins olivier sur le sujet. Dans le cas de validations contextuelles
> c'est juste le rêve.
>
> Pour le reste quand je peux laisser dans le modèle pas de souci. Au pire
> extraire jamais y a besoin est assez facile :)
>
> Sent from my iPhone
>
> On 4 mars 2014, at 16:06, Florian Dutey <[email protected]> wrote:
>
> javoue olivier...
> bienheureux si tu utilises rails car la solution hybride est possible. jy
> penserai si jai besoin de faire un wizard ou si mes workflow se
> complexifient a ce point. parce que c vrai, un wizard avec active record, c
> lenfer
>
> Le mardi 4 mars 2014, Olivier El Mekki <[email protected]> a écrit :
> >> par contre, le fait qu'un modele ne porte pas ses validations, je
> trouve ca
> >> moisi.
> >> un User a forcement un nom de famille, quel que soit le projet dans
> lequel
> >> tu lutilises. ca fait partie du metier du User et pas de son form.
> >
> > J'utilise un concept proche de ces FormObject, je les nomme Context.
> > L'idée est également d'encapsuler les validations (ainsi que les #permit
> > de strong_parameters) dans une classe dédiée.
> >
> > Il y a certes des champs qui peuvent être toujours obligatoire, mais le
> > contraire peut aussi être vrai (des champs qui sont *parfois*
> > obligatoires).
> >
> > Typiquement, j'ai le cas dans mon application actuelle où un user peut
> > être quelqu'un qui s'est inscrit sur le site ou un client/lead dont les
> > admins ont enregistré les infos depuis le backend (et qui peut
> > éventuellement avoir un accès sur le site ensuite). Au début, j'étais
> > parti sur du STI, avec BasicUser, OnlineUser et OfflineUser, mais comme
> > d'hab, ça a fini par poser des problèmes (ah au fait, un user peut
> > devenir Customer, maintenant).
> >
> > J'aime bien l'idée d'extraire les validations dans un contexte parce que
> > tout à coup, il n'y a plus besoin de STI, de `validates :if` etc. Si ce
> > n'est pas la même chose d'enregister un Order en étant admin et en étant
> > user, je peux le spécifier sans complications. Et si jamais un champs
> > est vraiment toujours obligatoire, well, je peux toujours ajouter la
> > validation dans le modèle, ce n'est pas une religion.
> >
> > --
> > --
> > 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]
> > ---
> > Vous recevez ce message, car vous êtes abonné au groupe Google
> Groupes Railsfrance.
> > Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le
> concernant, envoyez un e-mail à l'adresse
> [email protected].
> > Pour plus d'options, visitez le site
> https://groups.google.com/groups/opt_out .
> >
>
> --
> --
> 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]
> ---
> Vous recevez ce message, car vous êtes abonné au groupe Google Groupes
> "Railsfrance".
> Pour vous désabonner de ce groupe et ne plus en recevoir les messages,
> envoyez un e-mail à l'adresse [email protected].
> Pour obtenir davantage d'options, consultez la page
> https://groups.google.com/groups/opt_out.
>
>  --
> --
> 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]
> ---
> Vous recevez ce message, car vous êtes abonné au groupe Google Groupes
> "Railsfrance".
> Pour vous désabonner de ce groupe et ne plus en recevoir les messages,
> envoyez un e-mail à l'adresse [email protected].
> Pour obtenir davantage d'options, consultez la page
> https://groups.google.com/groups/opt_out.
>

-- 
-- 
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]
--- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, 
envoyez un e-mail à l'adresse [email protected].
Pour plus d'options, visitez le site https://groups.google.com/groups/opt_out .

Répondre à