Conseils pour les débutants en Rails
- Catégories:
- Ruby On Rails
Apprenez à utiliser les méthodes de recherche rails
On a déjà vu des méthodes de recherche rédigées en full SQL alors que ce n'était pas forcément nécessaire, ou encore ce genre de code:def establishment_rates... qui peut tout simplement être remplacé par ceci:
establishment_rates = []
establishments.each do |establishment|
establishment_rates << establishment if establishment.establishment_rate.nil?
end
return establishment_rates
end
def establishment_rates
self.establishments.where(establishment_rate: nil)
end
Ce qui est quand même plus simple et plus compréhensible, non?
Évitez également d'écraser les méthodes déjà existantes pour les associations. Si User has_many :notes, ne créez pas de méthode dans le model User qui s'appelle notes...
Utilisez les migrations correctement
Un des avantages des migrations, c'est de pouvoir faire un rollback si besoin. Ce genre de migration est à éviter, car le rollback n'est pas possible.class AddPermalinkToGenre < ActiveRecord::Migration
def change
execute "update genres set permalink = name_en"
end
end
Si vous souhaitez créer des données dès la première migration, pensez au fichier seeds.rb, qui s'execute lors d'un rake db:setup. :)
Ne réinventez pas la roue
... car elle existe déjà! Je parle notamment des systèmes d'authentification, qui est l'erreur classique du débutant par excellence. En Rails, Devise fait très bien le travail, plusieurs développeurs expérimentés sont passés par là et vous éviteront des erreurs de sécurité basiques, comme stocker le mot de passe en clair dans la base de données...
Ne dupliquez pas votre code
Ayez toujours en tête que la philosophie de rails est "Don't Repeat Yourself" (DRY). Autrement dit, dès que vous commencez un copier-coller de code, cherchez une alternative en créant une méthode avec des variables, à créer un module... Vous pouvez également utiliser les "concern" (méthodes pouvant être partagées par différents model), ainsi que profiter de l'héritage des models. Le model parent est commun aux models enfants, et il est possible d'écraser la méthode du model parent si besoin.
Pour faire des models enfants, il suffit d'ajouter une colonne string nommée "type" à votre model parent (qui contiendra la classe de votre model enfant), ainsi que les attributs supplémentaires de vos enfants.
Le model enfant est simplement hérité grâce au <, et ChildModel aura tous les attributs de ParentModel.
class ChildModel < ParentModel
end
Testez votre application
Apprenez à le faire pour tout type de projet, qu'il soit "simple" (raison de plus pour se faire la main sur les tests!) ou compliqué (et où là ça devient nécessaire). Des projets en apparence simples, qui à force de ne pas être testés, peuvent devenir très compliqués à maintenir: rails évolue, les gems évoluent, le projet et donc le code aussi... Si les tests vous font peur, que vous pensez que c'est une perte de temps, jetez un oeil sur notre article à propos des tests unitaires.
Voilà pour ce que nous avons pu voir en reprenant des projets. Et vous, quels conseils donneriez-vous aux codeurs rails débutants?
Index
--
Article précédent: Bonne année 2017
--
Article suivant: 3 bonnes raisons de choisir Ruby on Rails pour créer son site web
Aucun commentaire - Soyez le premier !