Développement Web Ruby
par Sylvain CLAUDEL

Derniers posts

Find et Grep : quelques exemples pratiques

Date d'édition 2012-10-02 à 16:27

Voici quelques exemples pratiques de find grep et autres :

grep -v pouet permet de ne selectionner que les lignes ne comportant pas pouet !

find . -mmin -10 permet de récupérer la liste des fichiers modifiés il y a moins de 10 minutes

grep "action" development_error.log -B 2 -A 2 permet de chercher 'action' dans development_error.log avec 2 lignes Avant (Before) et une ligne Après (After)

Ce billet sera mis à jour au fur et à mesure des découvertes.

Beautiful-Scaffold : personnaliser le bootstrap

Date d'édition 2012-09-21 à 10:46

Si vous utilisez beautiful-scaffold vous voudrez certainement changer le style du bootstrap. Pas de soucis vous pouvez aller sur :https://twitter.github.com/bootstrap/customize.html

Changez les chemins des icons en (pour l'assets pipeline) :

@iconSpritePath en '/assets/glyphicons-halflings.png'

@iconWhiteSpritePath en '/assets/glyphicons-halflings-white.png'

Après personnellement je n'aime pas trop le 14px donc je changerai bien le font-size en 12px (ou bien 13px comme l'ancienne version du bootstrap) :

@baseFontSize en 12px

Faites vos autres changements puis cliquez sur le bouton en bas (customize and download) et remplacez les fichiers css/bootstrap.css et css/bootstrap.min.css dans app/assets/stylesheets et c'est parti !

Assets pipeline : precompile assets avec Capistrano

Date d'édition 2012-09-19 à 16:28

La solution ultime à tous mes problèmes de déploiement.

1) Mettre ceci dans environments/production.rb :

config.assets.precompile += ["*.css", "*.js"]

ça permet de dire à rails de précompiler les css et js en plus des *.coffee *.scss...

2) Mettre ceci dans un before "deploy:create_symlink" do ... end dans le deploy.rb

run_locally "bundle exec rake assets:precompile"
run_locally "cd public; tar -zcvf assets.tar.gz assets"
top.upload "public/assets.tar.gz", "#{release_path}/assets/images/", :via => :scp
run "cd #{release_path}/public; tar -zxvf assets.tar.gz"
run_locally "rm public/assets.tar.gz"
run_locally "rm -rf public/assets"

ça a pour effet de faire le précompile en local, puis compresse les assets les upload dans release_path/public et enfin les extraits.

Lors d'une migration d'une vieille application rails <3.1 vers rails >3.1 il faut également 

- changer les chemins des images "../images/" en "/assets/"

- Faire un meld (comparateur de fichier et répertoire) pour mettre à jour la structure et l'intérieur des fichiers entre l'application et une application vide (rails new empty)

- Pensez également au Gemfile (doit être fait à l'étape précédente)

Bon voilà si vous avez des remarques utilisez twitter (@rivsc57) j'en ai marre du spam...

Dessinez votre schema de base de données à la souris pour Rails et/ou beautiful-scaffold

Date d'édition 2012-08-29 à 11:50

J'avais "écrit" il y a quelque temps un petit bout de javascript à la suite de cette démo de Raphael.js : https://raphaeljs.com/graffle.html pour générer mes schémas de base de données. Donc si ça peut servir à quelqu'un d'autre que moi (n'allez pas voir les sources c'est crado)...

- Import / Export au format JSON

- Génération des lignes pour le scaffold de rails 

- Génération des lignes pour beautiful-scaffold

C'est pas grand chose, ce n'est pas très complet mais je m'en sers de temps en temps.

Lien : https://github.com/rivsc/Beautiful-Scaffold

Comment éviter le DoubleRenderError dans rails 3 ?

Date d'édition 2012-08-24 à 08:51

Il va de soit qu'il est infiniment profitable de faire des conditions propres avec des render et des redirects qui vont bien. Mais dans certain cas il peut être intéressant d'annuler les précédents render et redirect dans l'action d'un controller (dans mon cas c'est pour traiter le render ou redirect après l'appel à super).


- Avec RubyOnRails 2.3

erase_render_result

erase_redirect_result

- Avec RubyOnRails 3.2

self.instance_variable_set(:@_response_body, nil)

Merci à @5pidou pour m'avoir donné la version rails 2.3, ce qui m'a permis de trouver la version 3.2

Source : https://stackoverflow.com/questions/4684486/how-to-render-a-view-normally-after-using-render-to-string

Développement ruby et geekeries - rivsc