MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jakie są dobre sposoby na uzyskanie aktualnych szczegółów użytkownika w modelach?

Kontrola dostępu w szynach odbywa się na poziomie kontrolera, a nie modelu. W rezultacie rails nie zapewnia mechanizmu dostępu do bieżącego użytkownika, plików cookie itp., z wnętrza kodu modelu. Możesz przenieść dane do modelu według parametrów do metod, jeśli chcesz. Byłoby to jednak ignorowaniem decyzji projektowych niektórych z najlepszych programistów w branży, więc myślę, że prawdopodobnie nie jest to dobry wybór.

Innymi słowy, nie rób tego, co próbujesz zrobić. Umieść wiedzę o tym, jak robić różne rzeczy w swoim modelu, ale kontroluj, kto może to robić w kontrolerze.

Z drugiej strony, jeśli z jakiegoś powodu próbujesz zapisać bieżącego użytkownika, powinieneś to zrobić przez jakieś skojarzenie (lub zagnieżdżony dokument, ponieważ używasz mongo). W takim przypadku nie używaj current_user wewnątrz modelu, ale raczej utwórz attr_accessor w przypadku użytkownika ustaw użytkownika w instancji modelu na current_user w kontrolerze, a następnie zapisz go tak, jak potrzebujesz w swoim wywołaniu zwrotnym.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB znajduje poddokument i sortuje wyniki

  2. Jednostki używane dla maxdistance i MongoDB?

  3. Jak powinienem uporządkować moje zagnieżdżone wywołania reactivemongo w mojej aplikacji play2?

  4. MongoDB $przykładowa stawka

  5. Jak zapobiec wstawianiu funkcji aktualizacji do MongoDB z Meteor?