Hello, 2012/5/31 HappyNoff <[email protected]>
> Hello, > > Oui justement c'est ma gem ^^ et je veux l'améliorer. > > En fait ce n'est pas rare du tout ce dont je parle et parfaitement > prévisible. > > Lorsque l'on fait link_to 'texte', @article c'est la même chose. > De la même façon, le redirect_to @article utilise le même principe. > Ça utilise url_for pour générer l'url en utilisant l'url nommée > article_path et en lui passant @article ce qui donne article_path(@article). > > Le souci est justement que url_for tente d'appeler article_path qui n'est > pas définie dans le contexte d'ariane. > > Je viens de trouver une solution qui fonctionne mais qui, à mon sens, est > complètement dégueulasse ^^ > > class Base # La classe qui va générer la liste de liens > #... > > def method_missing(meth, *args, &block) > if meth =~ /(_path|_url)\Z/ > Rails.application.routes.url_helpers.send(meth, *args, &block) > Pourquoi tu n'inclus pas tout simplement ce module ? class Base include Rails.application.routes.url_helpers end et voilà, tu as tes routes helpers, donc les truc_path et truc_url ( te faudra def le :host ) :) > else > super > end > end > > Dans un sens, c'est plutôt logique mais à tester déjà c'est un peu la mort > et puis je trouve qu'il y a un petit côté sale dedans. > Enfin après c'est peut être que moi ^^ > > Simon COURTOIS > > > On Thursday, May 31, 2012 9:11:36 PM UTC+2, Olivier El Mekki wrote: > >> Hello, >> >> > C'est cool mais j'aimerais pousser ᅵa un peu plus loin et >> permettre de >> > faire ceci: >> > >> > <% ariane.add un_model.title, un_model %> >> >> ᅵa devrait faire quoi ? La lib ne peut pas dᅵterminer d'elle-mᅵme >> si tu >> veux aller vers une action d'index, de show, voir mᅵme une action >> custom. >> >> La possibilitᅵ de faire `form_for @resource` est un cas rare : si on >> veut un form, c'est qu'on veut modifier un objet. C'est donc soit un >> create, soit un update, qu'on dᅵtermine en regardant si l'objet est un >> new_record? ou non. >> >> Ici, ce n'est pas devinable de la mᅵme maniᅵre - ᅵa peut ᅵtre >> n'importe >> quelle url. >> >> Mais je vois que Simon est l'auteur de cette gem, donc je le laisse te >> rᅵpondre au cas oᅵ :) >> >> >> -- >> Olivier El Mekki. >> > -- > 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] > -- Jean-Hadrien Chabran -- 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]
