Izgradite našu prijavu za aplikaciju Ruby on Rails

Sadržaj
U našim web aplikacijama gotovo ćemo uvijek morati registrirati korisnike, na taj način imat ćemo članove naših trgovina, blogova, virtualnih zajednica, administrativnih sustava itd. Da bi registracija bila učinkovita i korisna, tada se ti korisnici moraju moći autentificirati kako bi mogli unijeti dijelove koji su stvoreni za registrirane korisnike, poput pregledavanja njihovog profila, upravljanja porukama, kupovine, pisanja članaka itd.
Prijava je vitalni dio naše aplikacije, omogućuje nam odvajanje privatnog od javnog, omogućuje nam znati koji profil ima svaki korisnik koji uđe i tako odlučiti što mogu vidjeti ili ne.
Da bi naša aplikacija imala ovu funkcionalnost, potrebna nam je radnja u kontroleru koja nam omogućuje autentifikaciju korisnika uspoređujući njegovo korisničko ime i zaporku s onim što imamo u bazi podataka, a nakon što se to dogodi moramo spremiti neke vrijednosti u sesiju koji nam omogućuju da u svakom trenutku znamo tko je prijavljen i koji profil i dozvole imaju, naravno da potonje uvelike ovisi o dizajnu naše aplikacije.
Do sada moramo znati generirati kontroler i sve što se odnosi na konzolu tračnice, pa ćemo izravno vidjeti kontroler i njegov sadržaj, kao i logiku iza njega:
 def prijava ako request.get? sesija [: user_id] = nil @user = User.new else @user = User.new (parametri [: user]) logged_in_user = @user.try_to_login if logged_in_user session [: user_id] = logged_in_user.id redirect_to (: action => "index") else flash [: notice] = "Nevažeća kombinacija korisnika / lozinke" end end end 

U prvom dijelu s IF uvjetom našeg kontrolera tražimo zahtjevAko je GET, čistimo sesiju i stvaramo novi objekt korisničkog tipa, na ovaj način pripremamo način za unos. Ako ne nabavite zahtjev pretpostavljamo da je POST, zatim prosljeđujemo parametre obrasca našem objektu, a zatim pozivamo metodu pokušaj_da se prijaviš, ono što ova metoda radi je usporedba korisničkog imena i lozinke s onim što imamo u bazi podataka.
Konačno, s drugim uvjetom vidimo je li korisnik doista prijavljen, dodjeljujemo vrijednosti sesiji, a zatim korisnika preusmjeravamo na indeks, u protivnom s porukom prikazujemo pogrešku.
Kao što smo vidjeli u kontroleru, nazivamo neke metode koje nam omogućuju odgovarajuće usporedbe, sada nam je potrebno stvoriti ove metode, a za to ćemo to učiniti u modelu, da vidimo što sadrži i zašto sadrži to:
 def self.login (ime, lozinka) hashed_password = hash_password (lozinka || "") find (: prvo ,: uvjeti => ["name =? i hashed_password =?", ime, hashed_password]) kraj def try_to_login User.login (self.name, self.password) kraj 

Način prijaviti se jednostavno je, prima dva parametra: ime i lozinku, a zatim postavlja upite u bazu podataka za te vrijednosti.
Način pokušaj_da se prijaviš, ono što radi je dozivanje metode prijave, na ovaj način možemo dati odgovor korisniku ako ona postoji ili ne u našoj bazi podataka.
Na kraju u datoteci stvaramo svoj pogled i radnje koje će koristiti app / views / login mi ćemo stvoriti svoje login.rhtml a također i naš index.rhtml, prvi je prilično sličan korisničkoj konstrukciji, a ovaj drugi ćemo sada vidjeti.

Ukupno narudžbi u sustavu:

Narudžbe koje čekaju isporuku:


Kao što vidimo, prilično je jednostavno, jednostavno će prikazati naloge korisnika na čekanju, za to u kontroler moramo uvrstiti potrebne radnje:
 def index @total_orders = *****. count @pending_orders = *****. count_pending kraj 

Tu bismo vidjeli rezultat.Je li vam se svidio i pomogao ovaj vodič?Autor možete nagraditi pritiskom na ovaj gumb kako biste mu dali pozitivan bod

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave