Active Record Temelleri
ORM temelleri
Active Record Temelleri, CoddyKit'te ücretsiz bir Ruby Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Ruby Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Ruby Academy kursu toplamda 4 dersten oluşur.
Active Record Nedir?
Active Record, Rails'in ORM (Nesne-İlişkisel Eşleyici) katmanıdır. Ruby nesnelerini bir veritabanı tablosundaki satırlara bağlar; böylece ham SQL yerine nesnelerle çalışırsınız.
- Bir sınıf bir tabloya karşılık gelir.
- Bir örnek bir satıra karşılık gelir.
- Bir öznitelik bir sütuna karşılık gelir.
Model Tanımlama
Model, ApplicationRecord'dan (o da ActiveRecord::Base'den) kalıtım alan bir sınıftır. Gelenek gereği User modeli otomatik olarak users tablosuna bağlanır.
class User < ApplicationRecord
end
# Maps to the 'users' table
# Columns become attributes automaticallyYapılandırma Yerine Gelenek
Active Record, daha az kurulum yazmanız için adlandırma kurallarını kullanır:
- Sınıf adları tekil ve CamelCase biçimindedir:
User. - Tablo adları çoğul ve snake_case biçimindedir:
users. - Birincil anahtar varsayılan olarak
id'dir.
Geleneklere uyarsanız bağlantıların çoğu otomatik olarak kurulur.
Kayıt Oluşturma
create ile satırlar oluşturabilir veya önce oluşturup sonra save kullanabilirsiniz. create, tek çağrıda örneği oluşturur ve kaydeder.
user = User.create(name: "Ada", email: "ada@example.com")
# Or in two steps:
other = User.new(name: "Linus")
other.email = "linus@example.com"
other.saveKayıtları Okuma
Kayıtları arama yöntemleriyle getirin:
- Birincil anahtara göre
User.find(1)(kayıt yoksa hata verir). - Herhangi bir sütuna göre
User.find_by(email: 'a@b.com')(kayıt yoksa boş değer döndürür). - Tüm satırlar için
User.all. User.firstveUser.last.
user = User.find(1)
admin = User.find_by(role: "admin")
everyone = User.allKayıtları Güncelleme
Öznitelikleri değiştirip save kullanın veya atama ve kaydetme işlemlerini birlikte yapmak için update kullanın. update, doğrulamaya bağlı olarak doğru veya yanlış döndürür.
user = User.find(1)
user.update(name: "Ada Lovelace")
# Equivalent two-step form:
user.name = "Ada Lovelace"
user.saveKayıtları Silme
Satırları destroy ile (geri çağırmaları ve ilişkileri çalıştırır) veya delete ile (doğrudan SQL kullanır, geri çağırmaları atlar) kaldırın. Geri çağırmaları atlamak için bir nedeniniz yoksa destroy kullanmayı tercih edin.
user = User.find(1)
user.destroy
# Bulk destroy:
User.where(active: false).destroy_allÖznitelikler ve Değişiklik Takibi
Active Record kaydedilmemiş değişiklikleri takip eder. changed?, changes ve name_was gibi yöntemler, kaydetmeden önce hangi değerlerin değiştiğini gösterir. Bu özellik geri çağırmalarda ve günlük kaydı tutmada kullanışlıdır.
user = User.find(1)
user.name = "New Name"
puts user.changed? # true
puts user.name_was # old value
puts user.changes.inspectschema.rb Dosyası
Active Record tablo yapınızı modelinizden değil, veritabanından okur. Mevcut yapı, geçişlerden oluşturulan db/schema.rb dosyasına yansıtılır. Bu dosyayı el ile nadiren düzenlersiniz.
SQL Nereye Gider?
Active Record, yöntem çağrılarınızı perde arkasında SQL'e dönüştürür. User.find(1) ifadesi SELECT * FROM users WHERE id = 1 LIMIT 1 ifadesine dönüşür. Oluşturulan SQL'i User.where(active: true).to_sql ile görebilirsiniz.
sql = User.where(active: true).to_sql
# => SELECT "users".* FROM "users" WHERE "users"."active" = TRUEORM Neden Yararlıdır?
Active Record size şunları sağlar:
- Veritabanından bağımsız kod (PostgreSQL, MySQL, SQLite).
- Parametreli sorgular aracılığıyla SQL ekleme saldırılarına karşı koruma.
- Okunabilir, nesne yönelimli veri erişimi.
Ham SQL'e yalnızca özel durumlarda başvurursunuz.
Hızlı Kontrol
Active Record temelleri konusundaki anlayışınızı sınayın.
Özet: Active Record Temelleri
ORM'nin temellerini öğrendiniz:
- Bir sınıf bir tabloya, bir örnek bir satıra karşılık gelir.
- Yapılandırma yerine gelenek, adlandırmayı yönetir.
- CRUD:
create,find/find_by,update,destroy. - Değişiklik takibi kaydedilmemiş değişiklikleri gösterir.
- Active Record sizin için güvenli SQL oluşturur.
Sırada geçişlerle veritabanı şemasını yöneteceğiz.
Sıkça Sorulan Sorular
“Active Record Temelleri” dersi ücretsiz mi?
Evet — “Active Record Temelleri” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Ruby Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Ruby Academy kursu toplamda 4 dersten oluşur.
“Active Record Temelleri” dersinde ne öğreneceğim?
ORM temelleri Ruby Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Ruby Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Ruby Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Active Record Temelleri” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Ruby Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Ruby Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Active Record Temelleri
- Geçişler
- İlişkilendirmeler
- Doğrulamalar ve Sorgular