Ruby: Ruby mokymasis
Išsamus Ruby ir Rails vadovas
👋 Sveiki atvykę į Stackhero dokumentaciją!
Stackhero siūlo paruoštą naudoti Ruby cloud sprendimą, kuris suteikia daugybę privalumų, įskaitant:
- Įdiekite savo programą per kelias sekundes su paprastu
git push.- Naudokite savo domeno vardą ir pasinaudokite automatiniu HTTPS sertifikatų konfigūravimu, kad padidintumėte saugumą.
- Mėgaukitės ramybe su automatinėmis atsarginėmis kopijomis, vieno paspaudimo atnaujinimais ir paprasta, skaidria bei prognozuojama kainodara.
- Gaukite optimalią veikimo ir tvirtą saugumą dėka privačios ir dedikuotos VM.
Taupykite laiką ir supaprastinkite savo gyvenimą: išbandyti Stackhero Ruby cloud hosting sprendimą užtrunka tik 5 minutes!
Ruby ir Ruby on Rails
Ruby yra aukšto lygio, interpretuojama programavimo kalba, sukurta paprastumui ir produktyvumui. Jos elegantiška sintaksė leidžia programuotojams pasiekti daugiau su mažiau kodo, palaikant procedūrinį, objektinį ir funkcinį programavimo paradigmas.
Ruby on Rails, dažnai tiesiog vadinamas Rails arba RoR, yra tvirtas interneto programų karkasas, parašytas Ruby kalba. Sukurtas pagal Model-View-Controller (MVC) modelį, Rails skatina konvenciją vietoj konfigūracijos ir pabrėžia DRY (Don't Repeat Yourself) principą, todėl lengviau ir efektyviau kurti sudėtingas interneto programas.
Rails komandinė eilutė (CLI)
Rails komandinės eilutės sąsaja (CLI) yra galingas įrankis jūsų Rails programai valdyti. Ji apima komandas naujiems projektams kurti, serveriui paleisti, prieigai prie programos per konsolę ir įvairių komponentų, tokių kaip modeliai ir kontroleriai, generavimui. Žemiau pateikiamos kelios esminės komandos, kurias turėtų žinoti kiekvienas Rails programuotojas:
-
Sukurti naują Rails projektą:
rails new project_name -
Paleisti Rails serverį:
rails server -
Atidaryti Rails konsolę:
rails console -
Generuoti naują kontrolerį:
rails generate controller controller_name action_name -
Generuoti naują modelį:
rails generate model ModelName field:type -
Vykdyti duomenų bazės migracijas:
rails db:migrate
Rails maršrutai
Maršrutizavimas sujungia gaunamus užklausas su tinkamais kontroleriais ir veiksmais Rails programoje. Tai siūlo paprastą būdą kurti URL ir galinius taškus jūsų programai. Maršrutai apibrėžiami config/routes.rb faile. Čia pateikiami keli bendri maršrutų modeliai:
-
Pagrindinis maršrutas:
root 'controller_name#action_name' -
Bendras maršrutas:
get '/path', to: 'controller#action' -
Išteklių maršrutas (generuoja standartinius CRUD maršrutus):
resources :model_name
Rails kontrolerių veiksmai
Kontroleriai veikia kaip tarpininkai tarp modelių ir vaizdų, priimdami gaunamas užklausas ir pateikdami tinkamus atsakymus. Šie pavyzdžiai iliustruoja bendrus kontrolerių veiksmus išteklių sąrašui, rodymui, kūrimui, atnaujinimui ir šalinimui:
-
Index veiksmas (sąrašas visų objektų):
def index @objects = ModelName.all end -
Show veiksmas (rodyti vieną objektą):
def show @object = ModelName.find(params[:id]) end -
New veiksmas (rodyti formą naujam objektui):
def new @object = ModelName.new end -
Create veiksmas (išsaugoti naują objektą):
def create @object = ModelName.new(params.require(:model_name).permit(:field1, :field2)) if @object.save redirect_to @object else render :new end end -
Edit veiksmas (rodyti formą esamo objekto redagavimui):
def edit @object = ModelName.find(params[:id]) end -
Update veiksmas (taikyti pakeitimus esamam objektui):
def update @object = ModelName.find(params[:id]) if @object.update(params.require(:model_name).permit(:field1, :field2)) redirect_to @object else render :edit end end -
Destroy veiksmas (pašalinti objektą):
def destroy @object = ModelName.find(params[:id]) @object.destroy redirect_to model_name_path end
Rails ActiveRecord pagrindinės užklausos
ActiveRecord yra Rails įmontuota objektų-reliacinė atvaizdavimo (ORM) sistema. Ji abstrahuoja duomenų bazės sąveikas ir leidžia dirbti su duomenų bazės įrašais kaip su natūraliais Ruby objektais. Čia pateikiamos kelios bendros ActiveRecord užklausos duomenims gauti ir manipuliuoti:
-
Gauti visus objektus:
ModelName.all -
Rasti objektą pagal ID:
ModelName.find(id) -
Rasti objektą pagal specifinę lauko vertę:
ModelName.find_by(field: value)
Rails ERB pagalbinės funkcijos
Embedded Ruby (ERB) yra šablonų sistema, leidžianti rašyti HTML su įterptu Ruby kodu. ERB pagalbinės funkcijos yra metodai, kurie supaprastina bendras užduotis vaizduose. Čia pateikiami keli pavyzdžiai:
-
Sukurti nuorodą:
<%= link_to "Link Text", path %> -
Rodyti klaidų pranešimus:
<% @object.errors.full_messages.each do |message| %> <div><%= message %></div> <% end %>
Rails migracijos
Migracijos leidžia nuosekliai ir patikrinamai keisti jūsų duomenų bazės schemą. Jos naudoja Ruby DSL, todėl nereikia rašyti neapdoroto SQL rankiniu būdu, todėl jūsų schemos pakeitimai tampa nepriklausomi nuo duomenų bazės. Štai kaip galite sukurti ir vykdyti migraciją:
-
Sukurti naują migraciją:
rails generate migration MigrationName -
Sukurtame migracijos faile (
db/migrate/):class MigrationName < ActiveRecord::Migration[6.0] def change add_column :table_name, :column_name, :type remove_column :table_name, :column_name end end