Изградите нашу пријаву за апликацију Руби он Раилс

Преглед садржаја
У нашим веб апликацијама скоро увек ћемо морати да региструјемо кориснике, на овај начин ћемо имати чланове наших продавница, блогова, виртуелних заједница, административних система итд. Да би регистрација била ефикасна и корисна, ти корисници морају бити у стању да се аутентификују како би могли да унесу делове који су створени за регистроване кориснике, попут прегледавања њиховог профила, управљања порукама, куповине, писања чланака итд.
Пријављивање је витални део наше апликације, омогућава нам да одвојимо приватно од јавног, омогућава нам да знамо који профил има сваки корисник који уђе и тако одлучујемо шта могу да виде или не.
Да би наша апликација имала ову функционалност, потребна нам је радња у контролеру која нам омогућава да аутентификујемо корисника упоређујући његово корисничко име и лозинку са оним што имамо у бази података, а онда када се то догоди морамо да сачувамо неке вредности у сесији који нам омогућавају да у сваком тренутку знамо ко је пријављен и који профил и дозволе имају, наравно, ово последње много зависи од дизајна наше апликације.
До сада морамо знати како генерисати контролер и све што се односи на конзолу шине, па ћемо директно видети контролер и његов садржај, као и логику иза њега:
 деф пријава ако рекуест.гет? сесија [: усер_ид] = нил @усер = Усер.нев елсе @усер = Усер.нев (параметри [: усер]) логгед_ин_усер = @усер.три_то_логин иф логгед_ин_усер сессион [: усер_ид] = логгед_ин_усер.ид редирецт_то (: ацтион => "индек") елсе фласх [: нотице] = "Неважећа комбинација корисника / лозинке" енд енд енд 

У првом делу са ИФ условом нашег контролера тражимо захтевАко је ГЕТ, чистимо сесију и креирамо нови објекат корисничког типа, на овај начин припремамо начин за унос. Ако не набавите захтев претпостављамо да је ПОСТ, затим прослеђујемо параметре обрасца нашем објекту и затим позивамо методу три_то_логин, оно што ова метода ради је поређење корисничког имена и лозинке са оним што имамо у бази података.
Коначно, уз још један услов видимо да ли је корисник заиста пријављен, додељујемо вредности сесији и затим преусмеравамо корисника на индекс, у супротном ћемо приказати грешку са поруком.
Као што смо видели у контролеру, називамо неке методе које нам омогућавају да направимо одговарајућа поређења, сада нам је потребно да направимо ове методе, а за то ћемо то урадити у моделу, да видимо шта садржи и зашто садржи то:
 деф селф.логин (име, лозинка) хасхед_пассворд = хасх_пассворд (лозинка || "") финд (: прво ,: услови => ["наме =? анд хасхед_пассворд =?", наме, хасхед_пассворд]) крај деф три_то_логин Усер.логин (селф.наме, селф.пассворд) крај 

Метода Пријавите се једноставно је, прима два параметра: име и лозинку, а затим упитује те вредности према бази података.
Метода три_то_логин, оно што ради је позивање на метод пријављивања, на овај начин можемо дати одговор кориснику ако постоји или не у нашој бази података.
Коначно, у датотеци креирамо свој поглед и радње које ће користити апп / виевс / логин ми ћемо створити своје логин.рхтмл а такође и наш индек.рхтмл, први је прилично сличан конструкцији корисника, а овај други ћемо сада видети.

Укупан број налога у систему:

Наруџбе које чекају испоруку:


Као што видимо, прилично је једноставно, једноставно ће приказати налоге корисника на чекању, за то у контролер морамо укључити потребне радње:
 деф индек @тотал_ордерс = *****. цоунт @пендинг_ордерс = *****. цоунт_пендинг енд 

Тамо бисмо видели резултат.Да ли вам се допао и помогао овај водич?Можете наградити аутора притиском на ово дугме да бисте му дали позитиван поен

Ви ће помоћи развој сајта, дељење страницу са пријатељима

wave wave wave wave wave