Hej tamo! Ja sam dio dobavljača šina, a ja sam zapečen da podijelim s vama Kako stvoriti pomagač u šinama. To je sjajan alat koji vaše šine može učiniti da razviju cijelu i efikasniju. Dakle, zaronimo pravo!
Šta su tračnice pomagače?
Prvo, hajde da shvatimo koje su željezničke pomagale. Ukratko, pomagači u šinama način je da dijele kodeks u različitim dijelovima vaše aplikacije. Oni su poput malih komunalnih funkcija koje možete koristiti u svojim pogledima, kontrolerima, pa čak i drugim pomagačima. Razmislite o njima kao vašim pouzdanim signutim osobama koji vam pomažu da zadržite svoj kôd suhim (ne ponavljajte se).
Na primjer, recimo da imate gomilu stavova koji su potrebni za prikaz formatiranog datuma. Umjesto da pišete kôd za oblikovanje datuma u svakom prikazu, možete stvoriti pomoćnu metodu koja to radi za vas. Tada možete samo nazvati metodu u svojim pogledima kad god trebate prikazati formatirani datum.
Stvaranje vašeg prvog pomagača
Ok, pa kako zapravo stvarate pomagač u šinama? Prilično je jednostavno. Šine dolaze sa izgrađenim - generatorom koji to čini povjetarac.
Otvorite svoj terminal i pomaknite se do aplikacije Rails Application. Zatim pokrenite sljedeću naredbu:
Šitelice generiraju pomagač MyHelper
Ova naredba će stvoriti novu pomoćnu datoteku uAplikacija / pomagačiImenik Imedmy_helper.rb. Otvorite ovu datoteku u svom omiljenom uređivaču teksta i vidjet ćete nešto takvo:
Modul MyHelper # Dodajte pomagačke metode ovdje kraj
Ovo je osnovna struktura željezničkih pruga. To je samo rubinski modul sa metodama koje možete definirati. Dodajmo jednostavnu metodu našem pomagaru. Pretpostavimo da želimo stvoriti metodu koja vraća poruku dobrodošlice.
Modul MyHelper Def Dobrodošli_Message "Dobrodošli u našu Awesome Rails App!" krajnji kraj
To je to! Stvorili smo našu prvu pomoćnu metodu. Kako ga koristimo?
Koristeći svoj pomagač u pogledima
Korištenje pomoćnog metode u pogledu je super jednostavno. Recimo da imamo datoteku s pogledomAplikacija / prikazi / Dobrodošli / index.html.erb. U ovoj datoteci možemo nazvati našeDobrodošli_MessageOvakav način:
<h1> <% = dobrodošli_Message%> </ h1>
Kada se ovaj prikaz prikaže, prikazuje se poruka dobrodošlice koju smo definirali u našoj pomoćnoj metodi.
Pomoćne metode formatiranja
Pomagači su takođe sjajni za oblikovanje podataka. Recimo da radimo s nekim od tračnica koje isporučujemo, poputRail 49E2. Možda bismo željeli prikazati naziv proizvoda na lijep, oblikovan način.
Stvorimo pomoć za to.
Modultthelper def format_product_name (ime_name_name) proizvoda_name.upcase.gsub ("_", "") krajnji kraj
Sada, u našem mišljenju gdje prikazujemo informacije o proizvodu, možemo koristiti ovu metodu.
<p> <% = format_product_name ("49E2_Rail")%> </ p>
Ovo će prikazati naziv proizvoda u velikim slovima s podvlakama zamijenjenim razmacima.
Rad sa više pomagača
Možete imati više pomagača u aplikaciji Rails, a možete ih koristiti u različitim dijelovima svoje aplikacije. Na primjer, možda ćete imatiUserHelperza suočavanje sa korisnikom - povezanim oblikovanjem i aProductThelperZa suočavanje sa proizvodima - povezanim zadacima.
Ako želite koristiti određeni pomagač u kontroleru, možete uključiti tako:
Klasa proizvodaController <ApplicationController Helper ProductTelper def Index # kontroler Logic ovdje krajnji kraj
To će učiniti sve metode uProductThelperDostupno u pogledima povezanim saProizvodiController.
Pomoćne metode za uslovno prikazivanje
Pomoćni su takođe korisni za uslovne prikazivanja. Recimo da želimo prikazati različite poruke na osnovu toga da li je proizvod na skladištu ili ne.
modul stockhelper def stock_mesage (in_stock) ako je in_stock "Ovaj proizvod je na skladištu i spreman za isporuku!" Ostalo "Izvinite, ovaj proizvod nema na skladištu." krajnji kraj
U našem mišljenju možemo koristiti ovu metodu poput ove:
<p> <% = stock_message (@ proizvoda.in_stock)%> </ p>
Evo,@ product.in_stockje boolejska vrijednost koja ukazuje da li je proizvod na skladištu ili ne.
Korištenje pomagača sa oblicima šina
Pomaže se mogu koristiti i za pojednostavljenje rada sa oblicima šina. Na primjer, recimo da stvaramo obrazac za dodavanje novogCR175 željezničke dizalicedo našeg popisa.


Možemo stvoriti pomoćnu metodu za generiranje oznake za polje obrasca.
Oblik modula Custom_Label (obrazac, polje) oblika.label polje, klasa: "Custom - etiketa" krajnji kraj
U našem pogledu obrasca možemo koristiti ovu pomoćnu metodu poput ove:
<% = form_for @product do | f | %> <% = Custom_label (F ,: Naziv)%> <% = F.TEXT_FIELD: Ime%> <! - Ostali oblici -> <% krajnje>
To će generirati oznaku sa prilagođenom klasom za naše formiranje.
Ispitivanje vaših pomagača
Važno je testirati svoje pomagačke metode kako biste bili sigurni da rade kako se očekuje. Rails koriste minimentarni okvir za testiranje prema zadanim postavkama.
Da testira našeDobrodošli_Messagemetoda uMyHelper, možemo stvoriti testnu datoteku uTest / pomagačiImenik Imedmy_helper_test.rb.
Zahtijeva "test_helper" myhelpertest <actionview :: test test "Poruka dobrodošlice treba da vrati ispravan niz" do assert_equal "dobrodošli u našu fenomenalnu tračnicu!", dobrodošli_Message krajnji kraj
Pokrenite testove pomoćuRails testNaredba na terminalu i vidjet ćete da li vaša pomoćna metoda prođe test.
Zaključak
Stvaranje i korištenje pomagača u šinama moćan je način da se vaš kod organizira i ponovo za višekratnu upotrebu. Bilo da se bavite oblikovanjem, uslovnim prikazom ili obrascem za rukovanje, pomagače mogu učiniti vaš život cijeloj puno lakše.
Kao dobavljač šina, vidjeli smo iz prve ruke kako korištenje pomagača mogu pojednostaviti razvojni proces i učiniti ga efikasnijim. Ako ste zainteresirani za kupovinu naših visokokvalitetnih šina poputRail 49E2,CR175 željezničke dizalice, iliASCE šina od 60 lb, Voljeli bismo razgovarati s tobom. Stupite u kontakt sa nama da biste započeli raspravu o nabavci i pogledajte kako se naši proizvodi mogu uklopiti u vaš projekt.
Reference
- Vodiči za šine: Slučajna dokumentacija o zvaničnim šinama sjajan je resurs za učenje više o željezničkim pomagačima i drugim aspektima razvoja šina.
- Agilni web razvoj sa šinama: sveobuhvatna knjiga koja u dubini pokriva razvoj šina.
