Ruby on Rails uygulama girişimizi oluşturun

İçindekiler
Web uygulamalarımızda neredeyse her zaman kullanıcıları kaydetmemiz gerekecek, bu şekilde mağazalarımız, bloglarımız, sanal topluluklarımız, yönetim sistemlerimiz vb. üyelerimiz olacak. Kaydolmanın etkili ve kullanışlı olması için, bu kullanıcıların kayıtlı kullanıcılar için oluşturulmuş, profillerini görüntüleme, mesajlarını yönetme, satın alma yapma, makale yazma vb. gibi bölümlere girebilmek için kendilerini doğrulayabilmeleri gerekir.
Oturum açma, uygulamamızın hayati bir parçasıdır, özel olanı genelden ayırmamızı sağlar, giren her kullanıcının hangi profile sahip olduğunu bilmemizi ve böylece neyi görüp göremeyeceklerine karar vermemizi sağlar.
Uygulamamızın bu işlevselliğe sahip olması için, denetleyicide, kullanıcı adını ve şifresini veritabanında sahip olduğumuzla karşılaştırarak kullanıcının kimliğini doğrulamamıza izin veren bir eyleme ihtiyacımız var, bu gerçekleştiğinde oturumda bazı değerleri kaydetmeliyiz. Bu, kimin oturum açtığını ve hangi profile ve izinlere sahip olduklarını her zaman bilmemize izin verir, elbette ikincisi, uygulamamızın tasarımına çok bağlıdır.
Şimdiye kadar bir denetleyicinin nasıl oluşturulacağını ve konsolla ilgili her şeyi bilmeliyiz. raylar, bu nedenle denetleyiciyi ve içeriğini ve arkasındaki mantığı doğrudan göreceğiz:
 request.get ise def giriş? session [: user_id] = nil @user = User.new başka @user = User.new (params [: user]) login_in_user = @ user.try_to_login eğer login_in_user session [: user_id] = login_in_user.id redirect_to (: action => "index") else flash [: not] = "Geçersiz kullanıcı / şifre kombinasyonu" bitiş bitiş 

İlk bölümde, denetleyicimizin IF koşulu ile şunu soruyoruz: rica etmekGET ise session'ı temizliyoruz ve yeni bir user-type nesnesi oluşturuyoruz, bu şekilde giriş yolunu hazırlıyoruz. GET değilse rica etmek POST olduğunu varsayıyoruz, sonra form parametrelerini nesnemize iletiyoruz ve ardından yöntemi çağırıyoruz try_to_login, bu yöntemin yaptığı, kullanıcı adı ve şifrenin veritabanında bulunanlarla karşılaştırmasını yapmaktır.
Son olarak başka bir koşullu ile kullanıcının gerçekten giriş yapıp yapmadığını görüyoruz, oturuma değerler atıyoruz ve ardından kullanıcıyı dizine yönlendiriyoruz, aksi takdirde mesajla hata gösteriyoruz.
Denetleyicide gördüğümüz gibi, ilgili karşılaştırmaları yapmamıza izin veren bazı yöntemler diyoruz, şimdi ihtiyacımız olan bu yöntemleri oluşturmak ve bunun için modelde yapacağız, bakalım neler içeriyor ve neden içeriyor. o:
 def self.login (ad, şifre) hashed_password = hash_password (şifre || "") find (: first,:conditions => ["name =? and hashed_password =?", name, hashed_password]) end def try_to_login User.login (self.name, self.password) bitiş 

yöntem giriş yapmak basit, iki parametre alıyor: ad ve şifre, ardından bu değerler için veritabanına karşı sorgu yapıyor.
yöntem try_to_login, yaptığı şey login metodunu çağırmaktır, bu şekilde veritabanımızda var mı yok mu kullanıcıya cevap verebiliriz.
Son olarak, dosyada görünümümüzü ve kullanacağı eylemleri oluşturuyoruz. uygulama / görünümler / giriş kendimiz yaratacağız oturum açma.rhtml ve ayrıca index.rhtml'imiz, ilki kullanıcının yapısına oldukça benziyor ve bu ikincisini şimdi göreceğiz.

Sistemdeki toplam siparişler:

Gönderim bekleyen siparişler:


Gördüğümüz gibi, oldukça basit, sadece kullanıcının bekleyen siparişlerini gösterecek, bunun için kontrolörde gerekli eylemleri dahil etmeliyiz:
 def index @total_orders = *****.count @pending_orders = *****.count_pending end 

Orada sonucu görecektik.Bu Eğitimi beğendiniz ve yardım ettiniz mi?Yazara olumlu puan vermek için bu düğmeye basarak yazarı ödüllendirebilirsiniz.

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave