Ruby: Nauka Ruby
Kompleksowy przewodnik po Ruby i Rails
👋 Witamy w dokumentacji Stackhero!
Stackhero oferuje gotowe do użycia rozwiązanie Ruby cloud, które zapewnia wiele korzyści, w tym:
- Wdrażaj swoją aplikację w kilka sekund za pomocą prostego
git push.- Używaj własnej nazwy domeny i korzystaj z automatycznej konfiguracji certyfikatów HTTPS dla zwiększonego bezpieczeństwa.
- Ciesz się spokojem dzięki automatycznym kopiom zapasowym, aktualizacjom jednym kliknięciem oraz prostemu, przejrzystemu i przewidywalnemu cennikowi.
- Uzyskaj optymalną wydajność i solidne zabezpieczenia dzięki prywatnej i dedykowanej VM.
Oszczędzaj czas i upraszczaj sobie życie: wypróbowanie rozwiązania Ruby cloud hosting Stackhero zajmuje tylko 5 minut!
Ruby i Ruby on Rails
Ruby to interpretowany język programowania wysokiego poziomu zaprojektowany z myślą o prostocie i produktywności. Jego elegancka składnia pozwala programistom osiągać więcej przy mniejszej ilości kodu, wspierając jednocześnie paradygmaty programowania proceduralnego, obiektowego i funkcyjnego.
Ruby on Rails, często nazywany po prostu Rails lub RoR, to solidny framework aplikacji webowych napisany w Ruby. Zbudowany na wzorcu Model-View-Controller (MVC), Rails promuje konwencję nad konfiguracją i kładzie nacisk na zasadę DRY (Don't Repeat Yourself), co ułatwia i przyspiesza tworzenie złożonych aplikacji webowych.
Interfejs wiersza poleceń (CLI) Rails
Interfejs wiersza poleceń (CLI) Rails to potężne narzędzie do zarządzania aplikacją Rails. Zawiera polecenia do tworzenia nowych projektów, uruchamiania serwera, uzyskiwania dostępu do aplikacji przez konsolę oraz generowania różnych komponentów, takich jak modele i kontrolery. Oto kilka podstawowych poleceń, które każdy deweloper Rails powinien znać:
-
Utwórz nowy projekt Rails:
rails new project_name -
Uruchom serwer Rails:
rails server -
Otwórz konsolę Rails:
rails console -
Wygeneruj nowy kontroler:
rails generate controller controller_name action_name -
Wygeneruj nowy model:
rails generate model ModelName field:type -
Uruchom migracje bazy danych:
rails db:migrate
Trasy Rails
Routing łączy przychodzące żądania z odpowiednimi kontrolerami i akcjami w aplikacji Rails. Oferuje prosty sposób projektowania adresów URL i punktów końcowych dla aplikacji. Trasy są definiowane w pliku config/routes.rb. Oto kilka typowych wzorców routingu:
-
Trasa główna:
root 'controller_name#action_name' -
Trasa ogólna:
get '/path', to: 'controller#action' -
Trasa zasobów (generuje standardowe trasy CRUD):
resources :model_name
Akcje kontrolerów Rails
Kontrolery działają jako pośrednicy między modelami a widokami, odbierając przychodzące żądania i renderując odpowiednie odpowiedzi. Poniższe przykłady ilustrują typowe akcje kontrolera do listowania, wyświetlania, tworzenia, aktualizowania i usuwania zasobów:
-
Akcja index (lista wszystkich obiektów):
def index @objects = ModelName.all end -
Akcja show (wyświetl pojedynczy obiekt):
def show @object = ModelName.find(params[:id]) end -
Akcja new (wyświetl formularz dla nowego obiektu):
def new @object = ModelName.new end -
Akcja create (zapisz nowy obiekt):
def create @object = ModelName.new(params.require(:model_name).permit(:field1, :field2)) if @object.save redirect_to @object else render :new end end -
Akcja edit (wyświetl formularz do edycji istniejącego obiektu):
def edit @object = ModelName.find(params[:id]) end -
Akcja update (zastosuj zmiany do istniejącego obiektu):
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 -
Akcja destroy (usuń obiekt):
def destroy @object = ModelName.find(params[:id]) @object.destroy redirect_to model_name_path end
Podstawowe zapytania ActiveRecord Rails
ActiveRecord to wbudowany system object-relational mapping (ORM) w Rails. Abstrahuje interakcje z bazą danych i pozwala pracować z rekordami bazy danych jako natywnymi obiektami Ruby. Oto kilka typowych zapytań ActiveRecord do pobierania i manipulowania danymi:
-
Pobierz wszystkie obiekty:
ModelName.all -
Znajdź obiekt według ID:
ModelName.find(id) -
Znajdź obiekt według konkretnej wartości pola:
ModelName.find_by(field: value)
Pomocnicy ERB Rails
Embedded Ruby (ERB) to system szablonów, który pozwala pisać HTML z osadzonym kodem Ruby. Pomocnicy ERB to metody, które upraszczają typowe zadania w widokach. Oto kilka przykładów:
-
Utwórz link:
<%= link_to "Link Text", path %> -
Wyświetl komunikaty o błędach:
<% @object.errors.full_messages.each do |message| %> <div><%= message %></div> <% end %>
Migracje Rails
Migracje pozwalają na ewolucję schematu bazy danych w sposób spójny i weryfikowalny. Używają DSL Ruby, więc nie musisz pisać surowego SQL ręcznie, co sprawia, że zmiany schematu są niezależne od bazy danych. Oto jak utworzyć i uruchomić migrację:
-
Utwórz nową migrację:
rails generate migration MigrationName -
W wygenerowanym pliku migracji (
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