Ruby: Ruby leren
Een uitgebreide gids voor Ruby en Rails
👋 Welkom bij de Stackhero-documentatie!
Stackhero biedt een kant-en-klare Ruby cloud oplossing die tal van voordelen biedt, waaronder:
- Implementeer uw applicatie in seconden met een eenvoudige
git push.- Gebruik uw eigen domeinnaam en profiteer van de automatische configuratie van HTTPS-certificaten voor verbeterde beveiliging.
- Geniet van gemoedsrust met automatische back-ups, updates met één klik, en eenvoudige, transparante en voorspelbare prijzen.
- Krijg optimale prestaties en robuuste beveiliging dankzij een privé en dedicated VM.
Bespaar tijd en vereenvoudig uw leven: het kost slechts 5 minuten om de Ruby cloud hosting oplossing van Stackhero te proberen!
Ruby en Ruby on Rails
Ruby is een hoog-niveau, geïnterpreteerde programmeertaal ontworpen voor eenvoud en productiviteit. De elegante syntaxis stelt ontwikkelaars in staat meer te bereiken met minder code, terwijl het procedurele, objectgeoriënteerde en functionele programmeerparadigma's ondersteunt.
Ruby on Rails, vaak simpelweg Rails of RoR genoemd, is een robuust webapplicatieframework geschreven in Ruby. Gebouwd op het Model-View-Controller (MVC) patroon, bevordert Rails conventie boven configuratie en benadrukt het don't repeat yourself (DRY) principe, waardoor het eenvoudiger en efficiënter wordt om complexe webapplicaties te bouwen.
Rails command line (CLI)
De Rails command line interface (CLI) is een krachtig hulpmiddel voor het beheren van uw Rails-applicatie. Het bevat commando's voor het maken van nieuwe projecten, het starten van de server, toegang tot de applicatie via de console, en het genereren van verschillende componenten zoals modellen en controllers. Hieronder staan enkele essentiële commando's die elke Rails-ontwikkelaar zou moeten kennen:
-
Maak een nieuw Rails-project:
rails new project_name -
Start de Rails-server:
rails server -
Open de Rails-console:
rails console -
Genereer een nieuwe controller:
rails generate controller controller_name action_name -
Genereer een nieuw model:
rails generate model ModelName field:type -
Voer database-migraties uit:
rails db:migrate
Rails routes
Routing verbindt inkomende verzoeken met de juiste controllers en acties in een Rails-applicatie. Het biedt een eenvoudige manier om URL's en eindpunten voor uw app te ontwerpen. Routes worden gedefinieerd in het config/routes.rb bestand. Hier zijn enkele veelvoorkomende routeringspatronen:
-
Root route:
root 'controller_name#action_name' -
Generieke route:
get '/path', to: 'controller#action' -
Resource route (genereert standaard CRUD-routes):
resources :model_name
Rails controller acties
Controllers dienen als de tussenpersoon tussen modellen en views door inkomende verzoeken te ontvangen en de juiste antwoorden te renderen. De volgende voorbeelden illustreren veelvoorkomende controlleracties voor het opsommen, tonen, maken, bijwerken en verwijderen van resources:
-
Index actie (alle objecten opsommen):
def index @objects = ModelName.all end -
Show actie (een enkel object weergeven):
def show @object = ModelName.find(params[:id]) end -
New actie (formulier voor een nieuw object weergeven):
def new @object = ModelName.new end -
Create actie (een nieuw object opslaan):
def create @object = ModelName.new(params.require(:model_name).permit(:field1, :field2)) if @object.save redirect_to @object else render :new end end -
Edit actie (formulier voor het bewerken van een bestaand object weergeven):
def edit @object = ModelName.find(params[:id]) end -
Update actie (wijzigingen toepassen op een bestaand object):
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 actie (een object verwijderen):
def destroy @object = ModelName.find(params[:id]) @object.destroy redirect_to model_name_path end
Rails ActiveRecord basisqueries
ActiveRecord is het ingebouwde object-relational mapping (ORM) systeem van Rails. Het abstraheert database-interacties en stelt u in staat om met database-records te werken als native Ruby-objecten. Hier zijn enkele veelvoorkomende ActiveRecord-queries voor het ophalen en manipuleren van gegevens:
-
Alle objecten ophalen:
ModelName.all -
Een object vinden op ID:
ModelName.find(id) -
Een object vinden op een specifieke veldwaarde:
ModelName.find_by(field: value)
Rails ERB helpers
Embedded Ruby (ERB) is een templatingsysteem waarmee u HTML kunt schrijven met ingebedde Ruby-code. ERB-helpers zijn methoden die veelvoorkomende taken in views vereenvoudigen. Hier zijn een paar voorbeelden:
-
Maak een link:
<%= link_to "Link Text", path %> -
Foutmeldingen weergeven:
<% @object.errors.full_messages.each do |message| %> <div><%= message %></div> <% end %>
Rails migraties
Migraties stellen u in staat om uw databaseschema op een consistente en verifieerbare manier te ontwikkelen. Ze gebruiken een Ruby DSL, zodat u geen ruwe SQL met de hand hoeft te schrijven, waardoor uw schemawijzigingen database-onafhankelijk zijn. Hier is hoe u een migratie kunt maken en uitvoeren:
-
Maak een nieuwe migratie:
rails generate migration MigrationName -
In het gegenereerde migratiebestand (
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