Oui donc au niveau des bonnes pratiques pour les routes, il est je pense conseillé de n'utiliser que des routes nommées.
Si possible des routes couplées avec une ressource, ex. : comments_path pour l'index de CommentsController, ou comment_path(@comment) pour le show du commentaire passé en paramètre. Dans de nombreux cas on peut même se passer de la route nommée en passant directement la ressource dans un polymorphic_path. Ex. : polymorphic_path(@comment). Dans de nombreux helpers, ce polymorphic_path n'est pas nécessaire, ex. : link_to "Afficher", @comment. On peut alors même passer cette ressource dans un tableau dans le cas d'un contrôleur nesté dans un namespace, ex. : link_to "Afficher", [:admin, @comment] va lier sur le show du comment dans Admin::CommentsController. Ne vous fiez pas uniquement à l'API, regardez les guides sur http://guides.rubyonrails.org/. Pour changer l'environnement, le passer avec RAILS_ENV avant la commande, ex : RAILS_ENV=production rake db:migrate, dans certains cas on peut le passer directement en option, ex. : script/console production. En déploiement, modrails passenger permet de setter l'environnement de Rails directement dans la conf du vhost... N'hésite pas à ouvrir un nouveau thread si t'as une question bien précise. @+. Nicolas. 2010/8/19 Christophe Decaux <[email protected]>: > Nicolas, > > J'étais certain que j'allais déclencher des commentaires avec ma réponse de > baltringue. > Si je peux me permettre, j'aime bien la 3° partie de ta réponse car tu > indiques des suggestions concrètes avec des références. > Par contre pour la 1° partie, tu ne donnes aucun conseil. Peux-tu me diriger > vers des exemples de "best practices" ? Perso, je me base beaucoup sur > api.rubyonrails.org qui fait beaucoup usage de Hash, mais je trompe peut-être. > > Pendant que j'y suis, je ne trouve pas de tuto sur le passage du mode > development au mode production et les erreurs à ne pas commettre quand on > jongle avec les deux. > > merci d'avance > > Christophe > PS : je suis passé aux CSS depuis quelque temps... > > Le 19 août 2010 à 11:17, Nicolas Blanco a écrit : > >> Hello, >> quand je vois des Hash pour générer des routes, j'ai envie de pleurer. >> Générer des routes avec un Hash c'est du Rails 1. >> Je rêve de pouvoir lancer une croisade sur le web pour détruire tous >> les tutoriaux Rails 1 pour éviter de voir des débutants pomper du code >> et utiliser des conventions vieilles d'il y a 5 ans. >> >> Mettre du code JavaScript directement dans les vues, directement dans >> des onMachinChouette, c'est plus trop d'actualité aussi. >> C'est comme les styles, vous utilisez encore des balises HTML 4 ou >> bien vous mettez vos styles dans une CSS ? >> >> Le code JavaScript c'est pareil, les dernières conventions préconisent >> de coder les événements dans des fichiers à part ( >> http://fr.wikipedia.org/wiki/Javascript_discret ). On va alors >> utiliser un framework JS comme jQuery qui va nous permettre de >> manipuler tout le DOM de la page une fois celui-ci chargé >> ($(document).ready, etc.). >> >> Plus d'infos sur jQuery : http://www.jquery.com >> Des millions de tutos sont disponibles sur Internet... >> >> @+. >> >> 2010/8/19 Christophe Decaux <[email protected]>: >>> Salut, >>> Je ne suis pas un expert, mais j'ai un peu joué avec ce genre d'élément. >>> Le paramètre 'onclick' de image_submit_tag (et image_tag aussi) attend du >>> code JavaScript. cf : image_tag et image_submit_tag >>> Dans un cas similaire, j'ai plutôt utilisé ce genre de construction: >>> <%= link_to_remote(image_tag("my_pict.png", >>> :size=>"16x16"), :url=>{:action=>'my_action', :controller=>'my_controller', >>> :id=>'whatever'}, :method=>"post") %> >>> qui génère un Ajax.Request >>> Bon courage >>> Christophe >>> Le 19 août 2010 à 09:49, patxi.mayol a écrit : >>> >>> Bj, >>> J'essaye de mettre une image dans un bouton; pour cela j'ai trouvé >>> image_submit_tag qui me convient bien; >>> Je souhaiterai utiliser image_submit_tag de la façon suivante : >>> exécuter une fonction de mon controller sur click et non sur le submit >>> du form; j'ai essayé ':onclick' (cf ci-dessous) mais cela ne marche >>> pas! >>> >>> <%= image_submit_tag "img_ok.ico",:onclick=>'prjcfg/cfg/load', :url => >>> {:controller => "prjcfg/cfg", :action => 'load' } %> >>> >>> Avez-vous une idée ? >>> >>> Merci >>> >>> -- >>> 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 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] >> >> >> >> -- >> Nicolas Blanco, Web developper >> >> http://www.nicolasblanco.fr >> Jabber/GoogleTalk : [email protected] >> Twitter : http://twitter.com/slainer68 >> Github : http://github.com/slainer68 >> Skype : slainer68 >> >> -- >> 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 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] -- Nicolas Blanco, Web developper http://www.nicolasblanco.fr Jabber/GoogleTalk : [email protected] Twitter : http://twitter.com/slainer68 Github : http://github.com/slainer68 Skype : slainer68 -- 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]
