Decent Exposure Gem – Adieu aux variables d’instance répétitives

Introduction

GitHub : Gemme d'exposition décente
Decent Exposure nous permet de créer des variables exposées qui peuvent être utilisées dans les actions du contrôleur au lieu de répéter les variables d'instance. Les variables exposées sont également accessibles depuis les vues et mémorisent les valeurs résultantes. En d’autres termes, c’est une aide pour créer des interfaces déclaratives dans les contrôleurs.

Des points

  • Améliorer l'encapsulation
  • Les variables des vues peuvent être visibles en haut du contrôleur
  • Compatible avec strong_parameters, décorateurs
  • Expose les odeurs de code.

Jetez un oeil ici: http://c2.com/cgi/wiki?CodeSmell

Conseils pour jouer avec une gemme d'exposition décente dans une application Rails

  • Ajouter une gemme 'exposition_décente' au Gemfile et exécutez l'installation du bundle
  • Comment un contrôleur utilise exposition_décente ressemble à:

Gemme d'exposition décente

  • Par défaut, une exposition décente a été incluse afin d'éviter la mise à jour accidentelle des attributs sensibles du modèle et nécessite que tous les paramètres soient sur liste blanche. Il dispose d’un support intégré pour transmettre des paramètres forts.
  • It deals with overexposure.The ideal number of exposures is two per controller
    (1 -> singular resource, e.g. item and 2 -> plural collections e.g. items).
  • Si le haut de la classe du contrôleur est rempli d'instructions d'exposition, deux odeurs de code peuvent se produire, par exemple l'exposition de variables ne peut pas être utilisée dans la vue et un contrôleur avec plusieurs responsabilités.
  • We can utilize expose with block feature to decorate the object:
    expose(:item) { |default| ItemDecorator.new(default) }
  • Si les classes de modèle sont limitées à un espace de noms tel que Blog::Post, nous devons le spécifier lors de l'appel d'exposition avec model :

    class Blog::PostsController < ApplicationController
    expose(:post, model: Blog::Post)
    fin

Quelques ressources

Modifications de l'API : Modifications de l'API dans la nouvelle version
Diffusions sur rail : Exposition décente
Décoration décente : Gemme de décoration décente
Un blog: Comment diminuer le couplage dans les contrôleurs et les vues

Restez à l'écoute!

Thanks,

LUBAIB CEEJEY
Développeur senior Ruby on Rails 

Abonnez-vous pour les dernières mises à jour

Articles Similaires

Laissez un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

fr_FRFrench