sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvad er gode måder at få aktuelle brugerdetaljer på i modeller?

Adgangskontrol i skinner udføres på controllerniveau, ikke modelniveau. Som et resultat giver rails ingen mekanisme til at få adgang til den aktuelle bruger, cookies osv. inde fra modelkoden. Du kan overføre dataene til modellen efter parametre til metoder, hvis du vælger det. Det ville dog være at ignorere designbeslutningerne fra nogle af de bedste programmører i branchen, så jeg tror, ​​det nok ikke er et godt valg.

Med andre ord, lad være med at gøre det, du prøver at gøre. Læg viden om, hvordan du gør tingene i din model, men sæt kontrolelementer omkring, hvem der kan gøre dem, i controlleren.

På den anden side, hvis du forsøger at gemme den nuværende bruger af en eller anden grund, så bør du gøre det ved en form for tilknytning (eller indlejret dokument, da du bruger mongo). I så fald skal du ikke bruge current_user inde i modellen, men lav hellere en attr_accessor på bruger, indstil brugeren på forekomsten af ​​din model til current_user i controlleren, og gem den derefter, som du skal, i dit tilbagekald.



  1. Håndtering af skemaændringer i Mongoose

  2. Få kun det sidste element af array mongoose

  3. Omdøb ObjectId _id til id i jackson-deserialisering med Jongo og MongoDB

  4. Mongoose:Sorter efter indlejret felt