pe tot parcursul modulului 2 la Flatiron School (Ruby on Rails), am continuat să văd .încercați metoda utilizată în exemple (în special pentru autentificarea parolei) și nu era sigur ce făcea metoda. Mi s — a părut doar o magie a șinelor, la fel ca orice altceva și nu eram sigur cum să o folosesc corect-așa că am făcut câteva cercetări și este de fapt o metodă cu adevărat utilă.

exemplu de cod în cazul în care .încercați ar fi de ajutor în curățarea Cod

un loc unde .încercați este foarte util și adesea folosit este într-un jurnal în metoda//sesiuni controler. Aici, pe linia 18, codul este puțin mai complex decât este necesar. În primul rând, găsesc utilizatorul prin e-mailul pe care l-au pus în formularul de conectare. Apoi, pentru a autentifica parola utilizatorului, trebuie mai întâi să spun dacă există un utilizator (dacă @ utilizator) și dacă parola acelui utilizator este corectă, atunci conectați-l pe acel utilizator. Este un pic repetitiv, și un loc unde .încercați vine la îndemână.

cod ușor mai curat folosind .încercați

ce .încercați metoda nu (conform documentației) este invocă metoda numită ca primul argument pe .încercați, și solicită că pe receptor, la fel ca orice altă metodă. Unde este util este că, dacă receptorul (aici, @ user) nu răspunde la metodă, în loc să rupă și să ridice o eroare, acesta returnează doar zero. Deci! Într-o metodă de conectare, puteți vedea unde ar fi util acest lucru. Dacă utilizatorul introduce un e-mail greșit sau nu are un cont, acesta nu va exista în baza de date și nu va fi găsit de utilizator.metoda find_by. Dar apoi următoarea linie nu se va rupe din cauza asta și nu există o declarație suplimentară if și în cod.

un alt exemplu de utilizare a .încercați metoda

aceasta poate fi utilizată în mai multe locuri pentru a curăța codul și a preveni erorile dacă un utilizator nu există sau dacă, în cazul de mai sus, un utilizator a fost șters sau activitatea în sine a fost ștearsă și, prin urmare, nu mai are proprietar. Acest cod (folosind gem activitate publică pentru a afișa o cronologie a activității de utilizator) a fost de rupere atunci când un utilizator șters comentariul lor, până când m-am dus înapoi în codul și a adăugat .încercați metoda.

este destul de simplu de utilizat, deși nu pare ușor la prima vedere! Cu siguranță voi continua să folosesc .încercați în codul meu Rails pentru a curăța lucrurile un pic și pentru a preveni erorile, și sperăm că acest blog a ajutat clar pentru tine, de asemenea.