Hej tamo! Ja sam dio dobavljača šina, a ja znam ništa ili dvije o stvaranju novih aplikacija za šine. U ovom blogu, hodat ću vas kroz cijeli proces, od početka da se počnem sa potpunim - preplavljenim aplikacijom gore i trčanje.
Preduslovi
Prije nego što skočimo u kreiranje novih aplikacija za šine, morate se obavezati da imate nekoliko stvari instaliranih na vašem uređaju. Prvo, treba ti Ruby. Šine su rubinski okvir, pa je od suštinskog značaja za kompatibilna verzija Ruby-a. Možete koristiti alate poput RBENV-a ili RVM za upravljanje različitim rubinskim verzijama.
Zatim će vam trebati same šine. Možete ga instalirati putem naredbenog retka pomoćuGem instalirajte šine
. Gems su poput paketa u Rubyju, a ova naredba će dohvatiti i instalirati dragulj dragulj za vas. Također, instaliran je sistem upravljanja bazom podataka poput SQLite, PostgreSQL ili MySQL instalirani. Za početnike, SQLite je odličan izbor kao što je lagan i jednostavan za postavljanje.
Stvaranje aplikacije Rails
Jednom kada ste dobili sve preduvjete sortirane, vrijeme je da kreirate aplikaciju Rails. Otvorite svoj terminal i pomaknite se do direktorija na kojem želite kreirati aplikaciju. Zatim pokrenite sljedeću naredbu:
Rails New My_new_app
Evo,my_new_app
je ime vaše aplikacije. Možete ga promijeniti u sve što želite. Ova naredba će stvoriti novu aplikaciju za šine sa osnovnom strukturom direktorija. Postavit će sve potrebne datoteke i mape za vas, uključujući konfiguraciju baze podataka, ruta, kontrolera i pregleda.
Razumijevanje strukture direktorija
Kada se kreira aplikacija Rails, ima dobro - definirana struktura direktorija. Brzo pogledajmo neke od važnih imenika:
aplikacija
: Ovde veći dio vašeg prijavljivanja živi. Unutra ćete naćikontroleri
,modeli
,pregledi
, ipomagalo
. Kontroleri rješavaju dolazne zahtjeve, modeli komuniciraju s bazom podataka, pogledi su odgovorni za prikazivanje HTML-a i pomagači pružaju komunalne funkcije.konfiguracija
: Evo, pronaći ćete konfiguracijske datoteke za vašu aplikaciju, poput konfiguracije baze podataka ubaza podataka.yml
i konfiguraciju usmjeravanja urute.rb
.db
: Ovaj direktorij sadrži datoteke s baze podataka - kao što su migracije (koje se koriste za izmjenu sheme baze podataka) iseeds.rb
datoteka (koristi se za popunjavanje baze podataka s početnim podacima).javni
: Ovo je korijenski direktorij za statičke datoteke vaše aplikacije, poput slika, CSS i JavaScript.
Postavljanje baze podataka
Kao što sam ranije spomenuo, morate konfigurirati svoju bazu podataka. OtvoritiCONFIG / DATABASE.YML
Datoteka. Ako koristite SQLite (zadani), ne morate mnogo mijenjati. Ali ako koristite PostgreSQL ili MySQL, morat ćete navesti odgovarajuće korisničko ime, lozinku i naziv baze podataka.
Nakon postavljanja konfiguracije, možete kreirati bazu podataka pokretanjem:
Rails DB: Kreiraj
Ova naredba stvorit će razvojne i testne baze podataka na osnovu vaše konfiguracije. Da biste postavili početnu shemu baze podataka, možete pokrenuti migracije. Na primjer, ako ste generirali model sa migracijom (razgovaraćemo o tome kasnije), možete pokrenuti:
Rails dB: migrirati
Generiranje modela, kontrolera i pregleda
Jedna od sjajnih stvari o šinama su njeni generatori. Mogu vam uštedjeti puno vremena kreiranjem kodeksa kotlara za vas.
Generiranje modela
Da biste kreirali novi model, pokrenite sljedeću naredbu:
Šitelice generiraju model Naziv proizvoda: string Cijena: decimal
Ovo će stvoriti aProizvod
model saime
(niz) icijena
(decimalni) atributi. Također će stvoriti migracijsku datoteku udb / migrirati
Imenik. Nakon kreiranja modela, pokreniteRails dB: migrirati
Da biste primijenili migraciju i stvorili odgovarajuću tablicu u bazi podataka.
Generiranje kontrolera
Da biste kreirali kontroler, koristite sledeću naredbu:
Rails generiraju indeks proizvoda za kontroler
Ovo će stvoriti aProizvodiController
saindeks
ipokazati
Akcije. Theindeks
Akcija se obično koristi za prikaz popisa stavki ipokazati
Akcija se koristi za prikaz jednog predmeta.
Generiranje pogleda
Kada generirate kontroler, šine također stvaraju odgovarajuće datoteke prikaza uAplikacija / prikazi
Imenik. Na primjer, zaProizvodiController
upravo smo stvorili, šine će stvoritiAplikacija / Prikazi / Proizvodi / Index.html.erb
iAplikacija / Prikazi / Proizvodi / show.html.erb
Datoteke. Možete urediti ove datoteke da biste dodali svoj HTML i koristite ugrađeni Ruby (ERB) za prikaz dinamičkog sadržaja.
Rute
Rute u tračnicama definiraju kako su dolazni zahtjevi preslikani na kontrolere i postupke. OtvoritiCONFIG / RUTES.RB
Datoteka. Možete definirati rute ovako:
Warilla.aplikacija.Routes.Draw Dobijte 'proizvode', na: 'Proizvodi # Indeks' Dobivanje 'proizvoda /: ID', na: 'Proizvodi # End
Evo, prva ruta mape dobija zahtjev za/ Proizvodi
naindeks
akcijaProizvodiController
. Druga ruta mape dobijaju zahtjev za/ Proizvodi / 1
(gde1
je lična karta) napokazati
akcijaProizvodiController
.
Dodavanje neke funkcionalnosti
Dodajmo našu osnovnu funkcionalnostProizvodiController
. OtvoritiAplikacija / kontroleri / proizvodi_controller.rb
Datoteka.
Class ProductScorter <ApplicationController Def Index @Products = Product.all end def show @product = product.find (parami [: ID]) krajnji kraj
Uindeks
akcija, dohvaćamo sve proizvode iz baze podataka i pohranjujemo ih u@products
varijabla instancije. Upokazati
Akcija, pronalazimo jedan proizvod zasnovan naid
parametar u URL-u.
Sada ažuriramo stavove. UAplikacija / Prikazi / Proizvodi / Index.html.erb
, Možete prikazati listu ovakvih proizvoda:
<h1> Proizvodi </ h1> <ul> <% @ proizvodi.each do | proizvoda | %> <li> <% = link_to proizvod.name, product_path (proizvod)%> </ li> <% kraj%> </ ul>
I uAplikacija / Prikazi / Proizvodi / show.html.erb
, Možete prikazati detalje jednog proizvoda:
<h1> <% = @ proizvod.Name%> </ h1> <p> Cijena: <% = @ product.price%> </ p>
Ispitivanje vaše prijave
Ispitivanje je važan dio bilo kojeg razvoja aplikacija. Šine dolaze sa izgrađenim - u okviru testiranja. Možete pisati testove za svoje modele, kontrolere i poglede.
Da biste napisali test za model, stvorite testnu datoteku utest / modeli
Imenik. Na primjer, zaProizvod
Model, možete stvoriti aproizvoda_test.rb
Datoteka:
Zahtijevamo "test_helper" ClassTest "ActiveSupport :: testni test" treba biti važeći "do proizvoda = proizvoda.New (naziv: 'test proizvod', cena: assert proizvoda.vajlizirani? krajnji kraj
Da biste pokrenuli testove, jednostavno pokrenite:
Rails test
Umetanje aplikacije
Jednom kada je vaša aplikacija spremna, hteli ćete ga implementirati. Na raspolaganju je nekoliko pružatelja hostinga, poput Heroku, Aws i DigitoCean.
Ako koristite Heroku, možete slijediti ove korake:
- Prijavite se za Heroku račun.
- Ugradite HEROKU CLI.
- Dođite do svoje aplikacijske direktorija u terminalu i pokrenite:
Heroku Kreiraj
Ovo će stvoriti novu aplikaciju Heroku za vas. Zatim možete implementirati svoju aplikaciju guranjem vašeg kôda u HEROKU GIT spremište:
git push heroku master
Nakon raspoređivanja možda ćete trebati pokrenuti migracije na proizvodnoj bazi podataka:
Heroku Run Rails DB: migrirati
Naše šine ponude
Kao dobavljač šina nudimo širok spektar šinskih proizvoda. Ako vas zanimaju visoke trake, pogledajte našeOn je 22kg šina,Britanska standardna BSC13 čelična željeznica, i90 lbs šina. Ove šine su poznate po izdržljivosti i performansama.
Ako želite kreirati vlastite aplikacije za šine ili je potrebna svaka pomoć u tračnicama, ne ustručavajte se stupiti u kontakt s nama. Ovdje smo da vam pomognemo svaki korak, bilo da postavlja aplikaciju, optimiziranje performansi ili ga uvođenja na proizvodnju.
Reference
- Zvanična dokumentacija šina
- "Agile web razvoj sa šinama" Sam Ruby, Dave Thomas i David Heinemeier Hansson