Développeur Web RoR

Aller au contenu | Aller au menu | Aller à la recherche

Tag - rails

Fil des billets

lundi 1 août 2016

Rails Panel

C'est pas tout récent mais je viens de découvrir : rails panel.

Il s'agit d'un extension chrome bien pratique pour les développeurs rails. Elle rajoute un onglet à l'inspecteur d'élément de chrome. Dans cet onglet on peut y voir les requêtes ActiveRecord, les renders, le cache.

Pratique pour débugger ou optimiser. Sur de grosses applications ça n'a pas l'air hyper-stable mais bon, ça peut sauver la vie dans certains cas.

Source : https://github.com/dejan/rails_panel

vendredi 8 juillet 2016

Sprockets::FileNotFound in Beautiful#dashboard : couldn't find file 'jquery.ui.all'

Pour corriger l'erreur Sprockets::FileNotFound in Beautiful#dashboard : couldn't find file 'jquery.ui.all' dans une application qui utilise beautiful_scaffold il faut remplacer : 

 *= require jquery.ui.all 

Par  

*= require jquery-ui

Activer les logs sql dans la console rails

Une fois la console rails démarrée (rails c), il suffit de faire :

ActiveRecord::Base.logger = Logger.new STDOUT

mercredi 2 décembre 2015

Paranoia : suppression logique des objets ActiveRecord

Il peut être pratique de faire croire aux communs des mortels que vous supprimez réellement des objets quand ils cliquent sur le bouton de suppression et de ne pourtant pas supprimer ces enregistrements.

Vous pouvez coder ça vous même mais c'est bête ça existe déjà. Paranoia est là pour vous (rails 3 et 4). Il remplace acts_as_paranoid, en moins de code d'après son créateur.

Il suffit de rajouter une colonne deleted_at:datetime à vos classes ActiveRecord ainsi que spécifier acts_as_paranoid dans la classe et ça roule, plutôt que de me lancer dans des explications bancales, voici le lien du gem avec sa documentation :

https://github.com/radar/paranoia

mercredi 19 août 2015

Comment connaitre les changements qu'il y a eu sur un objet ActiveRecord immédiatement après un save ?


Avant de faire un save il est possible de connaitre les changements/savoir si un objet ActiveRecord a changé en appelant .changes ou changed?
Mais après un save ces fonctions renvoient respectivement [] et false. Il existe néanmoins la méthode previous_changes qui va renvoyer un hash avec la liste des attributes changés ainsi que leurs valeurs précédentes et actuelles.

mercredi 17 juin 2015

Comment ne plus utiliser le default_scope ?

Le default_scope est un scope qui est appelé implicitement à chaque requête ActiveRecord sur le modèle en question.

Le problème c'est qu'on l'oublie vite celui-là... Vaut mieux l'utiliser quand on a de bonnes raisons (un order systèmatique)...

En cas de nécessité absolu de ne pas utiliser le default_scope (c'est là qu'on doit légitimement se poser des questions, hein), il existe une méthode : unscoped. Elle vire tous les scopes précédemment utilisés, donc attention à l'ordre dans lequel vous le chaînez.

Documentation officielle sur ces deux méthodes : http://api.rubyonrails.org/classes/ActiveRecord/Scoping/Default/ClassMethods.html#method-i-default_scope

vendredi 30 janvier 2015

Sprockets::FileNotFound in Beautiful#dashboard : couldn't find file 'jquery.ui.all'

Pour corriger l'erreur Sprockets::FileNotFound in Beautiful#dashboard : couldn't find file 'jquery.ui.all' dans une application qui utilise beautiful_scaffold il faut remplacer (dans application-bs.js et application-bs.css) : 

= require jquery.ui.all 

Par  

= require jquery-ui

Bon code.

- page 1 de 14