Hej tamo! Dio sam dobavljača Rails -a, a ja sam podijeljen s vama kako stvoriti pomoćnika u Rails -u. To je sjajni alat koji može učiniti vaš razvoj tračnica puno lakšim i učinkovitijim. Dakle, zaronimo odmah!
Što su pomoćnici Rails -a?
Prvo, shvatimo što su pomoćnici Rails -a. Ukratko, pomagači u tračnicama način su za dijeljenje koda u različitim dijelovima vaše aplikacije. Oni su poput malih uslužnih funkcija koje možete koristiti u svojim pogledima, kontrolerima, pa čak i drugim pomagačima. Zamislite ih kao svoje pouzdane sporedne udarce koje vam pomažu da svoj kôd bude suh (ne ponavljajte se).
Na primjer, recimo da imate gomilu pregleda koji trebaju prikazati oblikovani datum. Umjesto da u svakom prikazu napišete kôd za formatiranje datuma, možete stvoriti pomoćnu metodu koja to čini za vas. Tada možete samo nazvati tu metodu u svojim prikazima kad god trebate prikazati oblikovani datum.
Stvaranje vašeg prvog pomagača
Ok, kako zapravo stvarate pomoćnika u Rails? Prilično je izravno. Trake dolazi s ugrađenim - u generatoru koji ga čini povjetarcem.
Otvorite svoj terminal i idite do direktorija aplikacija za tračnice. Zatim pokrenite sljedeću naredbu:
tračnice generiraju pomoćnika myhelper
Ova naredba stvorit će novu pomoćnu datoteku uAplikacija/pomagačiimenovani direktorijmy_helper.rb. Otvorite ovu datoteku u svom omiljenom uređivaču teksta i vidjet ćete ovako nešto:
modul myhelper # Dodaj pomoćne metode ovdje završava
Ovo je osnovna struktura pomoćnika Rails. To je samo rubinski modul s metodama koje možete definirati. Dodajmo jednostavnu metodu našem pomagaču. Pretpostavimo da želimo stvoriti metodu koja vraća poruku dobrodošlice.
Modul myhelper def dobrodošlicu_message "Dobrodošli u našu fenomenalnu aplikaciju Rails!" krajnji kraj
To je to! Stvorili smo svoju prvu pomoćnu metodu. E sad, kako ga koristiti?
Korištenje svog pomagača u pogledima
Korištenje pomoćne metode u pogledu je super jednostavno. Recimo da imamo datoteku za prikazApp/Views/Welcome/Index.html.erb. U ovoj datoteci možemo nazvati svojeDobrodošli_messageMetoda poput ove:
<H1> < %= dobrodošli_message %> </h1>
Kad se ovaj pogled prikaže, prikazat će poruku dobrodošlice koju smo definirali u našoj pomoćnoj metodi.
Pomoćne metode za oblikovanje
Pomagli su također izvrsni za oblikovanje podataka. Recimo da radimo s nekim od pruga koje isporučujemo, poput49E2 Rail. Možda bismo htjeli prikazati naziv proizvoda na lijep, formatiran način.
Stvorimo pomoćnu metodu za to.
Modul Producthelper def format_product_name (Product_name) Product_name.upcase.gsub ("_", "") Kraj kraj
Sada, prema našem mišljenju, gdje prikazujemo podatke 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 prostorima.
Rad s 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 imateUserhelperza bavljenje korisnikom - povezano s oblikovanjem i aProducentZa rješavanje zadataka povezanih s proizvodom.
Ako želite koristiti određenog pomoćnika u kontroleru, možete ga uključiti ovako:
Class ProductsController <ApplicationController Helper Producthelper def indeks # logika kontrolera ovdje kraj kraja
Ovo će napraviti sve metode uProducentDostupno u pogledima povezanim sProizvodi Kontroler.
Pomoćne metode za uvjetno prikazivanje
Pomagli su također korisni za uvjetno prikazivanje. Recimo da želimo prikazati različite poruke na temelju toga je li proizvod na skladištu ili ne.
Modul Stockhelper def Stock_Message (in_stock) Ako je in_stock "Ovaj je proizvod na skladištu i spreman za isporuku!" Inače "Oprosti, ovaj proizvod nije na skladištu." krajnji kraj
Prema našem mišljenju, ovu metodu možemo koristiti poput ove:
<p> < %= Stock_Message (@Product.in_stock) %> </p>
Ovdje,@Product.in_stockje boolena vrijednost koja ukazuje je li proizvod na zalihama ili ne.
Korištenje pomagača s obrascima tračnica
Pomagli se također mogu koristiti za pojednostavljenje rada s obrascima tračnica. Na primjer, recimo da stvaramo obrazac za dodavanje novogCR175 Rač za željezničke dizalicena naš inventar.


Možemo stvoriti pomoćnu metodu za generiranje naljepnice za polje obrasca.
modul formhelper def custom_label (obrazac, polje) obrazac.label polje, klasa: "Custom - naljepnica" krajnji kraj
U našem prikazu oblika, možemo koristiti ovu pomoćnu metodu poput ove:
<%= form_for @Product do | f | %> < %= Custom_Label (F ,: ime) %> < %= f.text_field: Name %> <!-Ostala polja obrasca-> < %kraj %>
Ovo će generirati oznaku s prilagođenom klasom za naše polje obrasca.
Testiranje vaših pomagača
Važno je testirati svoje pomoćne metode kako biste bili sigurni da rade kako se očekuje. Rails koristi Minest Framework za testiranje prema zadanim postavkama.
Da testiramo našDobrodošli_messagemetoda uMyhelper, možemo stvoriti testnu datoteku uTest/pomagačiimenovani direktorijmy_helper_test.rb.
zahtijevaju klasu test_helper "myhelpertest <actionView :: test test test" Poruka dobrodošlice treba vratiti ispravan niz "do assert_equal" dobrodošli u našu fenomenalnu aplikaciju Rails! "
Pokrenite testove pomoćutest tračniceNaredba u terminalu i vidjet ćete hoće li vaša pomoćna metoda proći test.
Zaključak
Stvaranje i korištenje pomagača u tračnicama moćan je način da vaš kôd bude organiziran i za višekratnu upotrebu. Bilo da se bavite oblikovanjem, uvjetnim prikazom ili rukovanjem, pomagači vam mogu olakšati život.
Kao dobavljač Rails -a, iz prve smo ruke vidjeli kako korištenje pomagača može pojednostaviti razvojni proces i učiniti ga učinkovitijim. Ako ste zainteresirani za kupnju naših visokih kvalitetnih tračnica poput49E2 Rail,,CR175 Rač za željezničke dizalice, ili60 lb ASCE Rail, voljeli bismo razgovarati s vama. Javite se s nama kako biste započeli raspravu o nabavi i pogledali kako se naši proizvodi mogu uklopiti u vaš projekt.
Reference
- Vodiči Rails -a: Službena dokumentacija Rails -a odličan je resurs za učenje više o pomoćnicima Rails -a i drugim aspektima razvoja tračnica.
- Agilni web razvoj s tračnicama: sveobuhvatna knjiga koja dubinski obuhvaća razvoj tračnica.
