Introduktion
Github: Anständig exponering pärla
Decent Exposure tillåter oss att skapa exponerade variabler som kan användas över kontrollenhetens handlingar istället för att upprepa instansvariabler. Exponerade variabler är också tillgängliga från vyer och memorerar de resulterande värdena. Det är med andra ord en hjälpreda för att skapa deklarativa gränssnitt i styrenheter.
Några poäng
- Förbättrar inkapslingen
- Variabler för vyer kan visas överst på kontrollenheten
- Kompatibel med strong_parameters, dekoratörer
- Avslöjar kodlukter.
Ta en titt här: http://c2.com/cgi/wiki?CodeSmell
Tips för att leka med anständig exponeringspärla i en Rails-app
- Lägg till pärla "anständig_exponering" till Gemfilen och kör paketinstallationen
- Hur en kontroller använder anständig_exponering ser ut som:
- Som standard inkluderades Decent exponering som ett sätt att förhindra oavsiktlig uppdatering av känsliga modellattribut och det kräver att alla parametrar är vitlistade. Den har inbyggt stöd för att skicka starka parametrar.
- 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). - Om toppen av controllerklassen är full av exponeringssatser, kan två kodlukter uppstå som att exponeringsvariabler kanske inte används i sikte och Controller med flera ansvarsområden.
- We can utilize expose with block feature to decorate the object:
expose(:item) { |default| ItemDecorator.new(default) } - Om modellklasserna omfattas av ett namnområde som Blog::Post måste vi ange det i expose-anropet med modell:
class Blog::PostsController < ApplicationController
expose(:post, model: Blog::Post)
slutet
Vissa resurser
API-ändringar: API-ändringar i ny version
Railscasts: Anständig exponering
Anständig dekoration: Anständig dekoration pärla
En blogg: Hur man minskar kopplingen i Controllers och Views
Håll ögonen öppna!
Thanks,
LUBAIB CEEJEY
Sr Ruby on Rails utvecklare
Prenumerera för de senaste uppdateringarna
relaterade inlägg