Ruby on Rails Eğitimi

⚡ Akıllı Özet

Ruby on Rails Eğitimi, Airbnb, GitHub ve Shopify gibi platformlara güç veren, Ruby ile yazılmış açık kaynaklı web çerçevesini tanıtıyor. Bu kılavuz, kurulumu da kapsıyor. WindowsMac ve Linux işletim sistemleri, Rails jeneratörleri, yönlendirme, görünümler, ActiveRecord, doğrulama ve hata ayıklama.

  • 💎 Dil ve Çerçeve: Ruby, okunabilirliği artırmak için tasarlanmış dinamik, nesne yönelimli bir dildir ve Rails, bu dil üzerine inşa edilmiş, tam kapsamlı bir MVC çerçevesidir.ping web uygulamalarını hızlı bir şekilde.
  • Çapraz Platform Kurulumu: Ruby ve Rails'i yükleyin. Windows RubyInstaller kullanarak, Mac'te Homebrew aracılığıyla ve diğer platformlarda Ubuntu Linux'u apt üzerinden kurduktan sonra gem install rails komutunu çalıştırın.
  • 🏛️ Rehber ilkeler: Rails, "Kendini Tekrarlama" ve "Yapılandırma Yerine Kural" ilkelerini uygulayarak ekiplerin daha az gereksiz kod yazmasını ve öngörülebilir proje yapısını takip etmesini sağlar.
  • ⚙️ GeneratorYönlendirme ve Komuta: CRUD kodunu oluşturmak için `rails generate scaffold` komutunu kullanın, ardından RESTful yönlendirmeleri eşleştirmek için `config/routes.rb` dosyasına güvenin. URLKontrolcü eylemlerine saniyeler içinde yanıt verir.
  • 🗄️ ActiveRecord Gücü: ActiveRecord, Ruby sınıflarını veritabanı tablolarına eşler, geçişleri, ilişkilendirmeleri ve doğrulamaları destekler ve verilerin ortamlar arasında tutarlı kalmasını sağlar.

Ruby on Rails Eğitimi

Ruby nedir?

Yakut Ruby, yüksek seviyeli, yorumlayıcı tabanlı, nesne yönelimli bir programlama dilidir. Arkasında geniş bir topluluk bulunan dinamik bir açık kaynak dildir. Ruby, sadelik ve verimlilik için tasarlanmıştır. İnsan odaklı ve bilgisayar odaklı olmayan yazılım kodları yazmayı teşvik eder. Ruby, 1995 yılında Japonya'da Yukihiro Matsumoto tarafından geliştirilmiştir.

Raylar Nedir?

Raylar Rails, web uygulamaları geliştirmek için Ruby ile yazılmış bir geliştirme çerçevesidir. Basecamp uygulamasının temeli olarak oluşturulmuş ve 2004 yılında açık kaynak yazılım olarak yayınlanmıştır. Rails, birçok yerleşik standart özellik ve işlevsellik sunarak MVP prototipleme için uygun bir seçim haline gelmiştir.ping ve hızlı ürün geliştirme.

Rails, DHH olarak bilinen David Heinemeier Hansson tarafından oluşturulmuştur. Web uygulamaları geliştirmek için en etkili ve popüler araçlardan biridir. Airbnb, GitHub ve Shopify gibi büyük siteler tarafından kullanılmaktadır.

Neden Raylar?

Araç zincirini kurmadan önce, Rails'in gemi geliştirme için neden popüler bir tercih olmaya devam ettiğini anlamak faydalı olacaktır.ping web uygulamalarını hızlı bir şekilde.

  • Rails, Ruby gem'i olarak paketlenmiştir ve bununla çok çeşitli uygulamalar geliştirebilirsiniz.
  • Bu sayede normal web uygulamaları, e-ticaret siteleri, içerik yönetim sistemleri ve daha fazlasını oluşturabilirsiniz.
  • Rails, Model-View-Controller (MVC) modelini kullanarak veritabanı tabanlı bir web uygulaması oluşturmak için ihtiyacınız olan her şeyi içeren tam kapsamlı bir çerçevedir.
  • Tüm katmanlar sorunsuz bir şekilde birlikte çalışacak şekilde tasarlanmıştır, bu nedenle Rails projeleri genellikle diğer çerçevelerdeki eşdeğer projelere göre daha az kod satırı gerektirir.

Ruby Nasıl İndirilir ve Kurulur Windows

Kurulum süreci işletim sisteminize bağlıdır. Sonraki bölümlerde Ruby'nin kurulumu ele alınmaktadır. Windows, Mac ve Linux.

) 1 Adım Rubyinstaller'ı indirin.
Ruby'yi bilgisayarınıza kurmanın en kolay yolu Windows Bilgisayar, Ruby Installer aracılığıyla çalıştırılır; bu araç şu adreste mevcuttur: https://rubyinstaller.org/.

İndirdikten sonra yükleyiciyi çalıştırın.

) 2 Adım İndirdiğiniz kurulum dosyasına tıklayın.
Double-Örneğin, indirdiğiniz yükleyici dosyasına tıklayın. rubyinstaller-2.4.1-2-x64.exe.

) 3 Adım Lisansı kabul edin.
“Lisansı kabul ediyorum” radyo düğmesini seçin ve “İleri” düğmesine tıklayın. Aşağıdaki ekranı görmelisiniz.

Ruby'yi indirin ve yükleyin Windows

) 4 Adım İlk iki onay kutusunu işaretleyin.
Ruby komut dosyalarını çalıştırmayı kolaylaştırmak için ilk iki onay kutusunu işaretleyin.

Yüklemeyi başlatmak için "Yükle" düğmesine tıklayın. Yükleme tamamlandığında aşağıdaki ekranı görmelisiniz.

Ruby'yi indirin ve yükleyin Windows

) 5 Adım Bitir üzerine tıklayın.
MSYS2'yi yükleyen seçeneğin işaretini kaldırmayın. Yüklemeyi tamamlamak için "Bitir"e tıklayın. Aşağıda gösterildiği gibi bir komut istemi penceresi açılacaktır.

Ruby'yi indirin ve yükleyin Windows

) 6 Adım MSYS2'yi kurun.
Bu adımda, paketlerin kolayca kurulmasını sağlayan bir paket yöneticisi içeren bir derleme platformu olan MSYS2 yüklenir. Windows.

Sorunsuz bir Ruby on Rails geliştirme ortamı için gerekli olan tüm bileşenleri yüklemek için Enter tuşuna basın. Windows.

Ruby'yi indirin ve yükleyin Windows

Rayların Takılması

Önceki bölümde Ruby'yi kurmuş olmalısınız. Ardından Rails'i kurun. Rails'i bir paket kullanarak kurabilirsiniz. RaylarYükleyiciAncak paket genellikle gerekli olan her bağımlılığın en son sürümünü içermez.

Eğer en güncel Ruby sürümünü ve temel RubyGems ve eklentilerini zaten yüklediyseniz, Rails'i sisteminize yüklemek için komut isteminde aşağıdaki komutu çalıştırmanız yeterlidir: gem install rails.

Ayrıca yüklemeniz gerekecek node.js Eğer henüz sahip değilseniz, çünkü Rails'in bağımlı olduğu bazı kütüphaneler bir şeye ihtiyaç duyar. JavaKomut dosyasının çalışma zamanının doğru çalışması için. Node'u şuradan edinin: https://nodejs.org.

Daha yaygın ve tercih edilen bir yaklaşım şudur: Windows kullanmaktır Windows Linux için bir alt sistemdir. GNU/Linux ortamını, komut satırı araçları, yardımcı programlar ve yaygın uygulamalarla doğrudan entegre eder. Windows.

Ruby'yi Mac'e Kurmak

Mac'inizde Ruby önceden yüklenmiş durumda. Ancak, önceden yüklenmiş sürüm genellikle eski olduğundan, daha yeni bir sürüm yüklemeniz gerekir.

Bunu yapmanın en kolay yolu, bir paket yöneticisi kullanmaktır, örneğin... Ev yapımı içkiÖncelikle Terminal'de aşağıdaki komutu çalıştırarak Homebrew'u yüklemeniz gerekebilir.

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Bu, bir uyarı görüntüler ve sizden parolanızı girmenizi ister. Mac parolanızı girin (yazarken karakterler görünmez) ve işiniz bittiğinde Enter tuşuna basın. Ardından, Mac'inize Ruby'yi yüklemek için bu Homebrew komutunu çalıştırın.

brew install ruby

Ardından şu komutu çalıştırın:

echo 'export PATH="/usr/local/bin:/usr/local/sbin:$PATH"' >> ~/.bash_profile

Bu işlem, yeni Ruby kurulumunu sisteminizdeki önceden yüklenmiş Ruby yerine varsayılan Ruby olarak ayarlar.

Kurulumun başarılı olduğunu doğrulamak için Terminal'de aşağıdaki komutu çalıştırın:

ruby --version

Bu komut, yüklediğiniz Ruby sürüm numarasını yazdırır. Çıktı aşağıdaki gibi görünür:

ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-darwin18]

Ruby'yi yüklemek Ubuntu (Linux)

Ruby'yi kurmanın en kolay yolu Ubuntu Ruby'nin en son sürümünü yüklemek için apt paket yöneticisini kullanabilirsiniz. Terminalde aşağıdaki komutları çalıştırarak en son Ruby sürümünü yükleyebilirsiniz. Ubuntu depoları.

  • sudo apt güncellemesi – Bu, varsayılan ayarları günceller. Ubuntu depoları.
  • sudo apt install ruby-full – Bu komut en son Ruby sürümünü indirir ve kurar.

Kurulumu onaylamak için şunu çalıştırın: ruby –sürümBu, yüklediğiniz Ruby sürümünü yazdırır.

Rayların Kurulumu Ubuntu (Linux)

Rails'i Linux makinenize kurmak için aşağıdaki adımları izleyin.

) 1 Adım Gem yöneticinizi aşağıdaki komutu çalıştırarak güncelleyin. gem güncelleme –sistem Terminalde veya komut isteminde.

) 2 Adım koşmak gem rayları monte et Rails'in en son sürümünü bilgisayarınıza yüklemek için.

) 3 Adım Rails uygulamalarınızda bağımlılık yönetimini kolaylaştırmak için bundler gem'ini yükleyin. Çalıştırın. gem yükleme paketleyicisi.

Rayların İki Prensibi

Rails, temel yazılım tasarım prensiplerini takip eder ve sizleri de bunları kullanmaya teşvik eder.

En yaygın ikisi şunlardır:

  • Kendini Tekrarlama (DRY) – bu da daha özlü, tutarlı ve bakımı kolay kodlara yol açar.
  • Konfigürasyon Üzerinden Konvansiyon – Rails, en yaygın kullanım şekillerine uygun, mantıklı varsayılan ayarlarla önceden yapılandırılmıştır. Bu, uygulama geliştirmeyi hızlandırır ve bakımını yapmanız gereken kod miktarını azaltır.

Raylar – Proje Dosya Yapıları

Sisteminizde Rails kuruluysa, bir Rails uygulaması oluşturun. Sonraki bölümlerde, bir yapılacaklar listesi uygulaması oluşturarak Ruby on Rails örneğini inceleyeceğiz. Uygulamayı oluşturmak için Terminalinizde aşağıdaki komutu çalıştırın:

rails new todo_app

Bu komut adında bir dizin oluşturur yapılacaklar_uygulaması Geçerli dizinde, aşağıda gösterildiği gibi, bir Rails web uygulamasının temel klasör yapısına sahip dosyalar oluşturulacaktır.

Raylar – Proje Dosya Yapıları

İşte proje için oluşturulan ana dizinler:

uygulamayı yükleyeceğiz – Kullanıcı arayüzü/düzen (görünümler ve yardımcı dosyalar), denetleyici (denetleyici dosyaları) ve modeller (iş/uygulama mantığı) için alt dizinleri gruplandırır.

uygulama/kontrolörler – Rails'in istemciden gelen istekleri işlemek için kullandığı denetleyici dosyalarını saklar.

uygulama/varlıklar – Uygulamanın ön yüzü tarafından ihtiyaç duyulan statik dosyaları türlerine göre gruplandırılmış olarak içerir: JavaSenaryo dosyalar, resimler ve stil sayfaları.

uygulama/yardımcılar – Uygulama modelinizi, görünümünüzü ve denetleyici mantığınızı odaklanmış, küçük ve düzenli tutan yardımcı işlevler içerir.

uygulama/modeller – Uygulamanızın veritabanını modelleyen dosyaları içerir. Model sınıfları, veritabanıyla çalışmayı çok kolaylaştırır.

uygulama/görüntülemeler – Uygulamanızın kullanıcısının etkileşimde bulunduğu şablon/düzen dosyalarını içerir. Şablonlar, HTML'yi veritabanındaki verilerle birleştirir.

çöp kutusu – Uygulamanızı başlatan Rails komut dosyalarını içerir. Ayrıca uygulamayı kurmak ve yükseltmek için kullandığınız diğer komut dosyalarını da içerebilir.

yapılandırma – aşağıdakiler gibi yapılandırma dosyalarını içerir: veritabanı.yml, ortam.rb, yollar.rbUygulamanızın çalışması için ihtiyaç duyduğu şeyler, vb.

db – Uygulama veritabanınızı yönetmek için kullanılan dosyaları ve komut dosyalarını içerir.

lib – Uygulamanız için genişletilmiş modüller içerir.

log – aşağıdaki gibi günlük dosyalarını içerir: sunucu.log, geliştirme.log, test.log ve üretim.logUygulamanızda hata ayıklama veya izleme amacıyla kullanılır.

halka açık – HTML dosyaları gibi statik dosyaları ve derlenmiş varlıkları içerir, JavaKomut dosyaları, resimler ve stil sayfaları.

test – Uygulamanızın işlevselliğini test etmek için yazdığınız test dosyalarını içerir.

tmp – Önbellek ve PID dosyaları gibi geçici dosyaları içerir.

satıcı – Üçüncü taraf kütüphaneleri içerir.

Gem dosyası – Web uygulamanızı çalıştırmak için gereken temel gem gereksinimlerini belirtir. Gem'leri geliştirme, test veya üretim olarak gruplandırabilirsiniz ve Rails her gem'i ne zaman dahil edeceğini bilecektir.

Gemfile.lock – Uygulamanızda istediğiniz gem'leri açıkça listeleyen Gemfile'ın aksine, Gemfile.lock ayrıca Gemfile'da listelenenlerin bağımlı olduğu diğer gem'leri de içerir. Bunlar, bağımlılıkları karşılamak için otomatik olarak yüklenir.

Benioku.md – Bu dosyayı, uygulamanızın ne işe yaradığı, nasıl kurulup çalıştırılacağı gibi uygulamanızla ilgili temel ayrıntıları paylaşmak için kullanın.

komisyon dosyası – Uygulamanızın günlük yönetim görevlerini otomatikleştirmeye yardımcı olan çeşitli rake görev tanımlarını içerir.

config.ru – Uygulamanızı başlatmak için web sunucusuna arayüz sağlayan bir Rack yapılandırma dosyası.

Dizin değiştir yapılacaklar_uygulaması Dizin Rails oluşturuldu ve çalıştırıldı Rails sunucusu Uygulamayı başlatmak için. Tip localhost: 3000 Web tarayıcınızın adres çubuğuna şunu yazın: Aşağıdaki ekranı görmelisiniz. Her şey yolunda gittiyse, aşağıdaki ekranı görmelisiniz.

Raylar – Proje Dosya Yapıları

Bu, uygulamanızın varsayılan ana sayfasıdır. Bu Ruby on Rails eğitiminin ilerleyen bölümlerinde bunu değiştireceksiniz. Sunucuyu durdurmak için tuşuna basabilirsiniz. Ctrl + C.

Rails – Komut Oluşturma

Rails'in `generate` komutu, uygulamanızda birçok faydalı şey oluşturmak için şablonlar kullanır. Bu oluşturucular çok zaman kazandırır.

Web uygulamanızın çalışması için gerekli olan temel kodları yazarlar. Çalıştırın. raylar oluşturur Komut isteminde veya Terminalde tek başına çalıştırarak, aşağıda gösterildiği gibi kullanılabilir jeneratörlerin listesini görebilirsiniz.

Raylar – Komutlar oluşturun

Ayrıca koşabilirsin raylar oluşturur Komutun ne yaptığının açıklamasını görmek için. Kullanışlı seçenekler ve bir kullanım örneği listelenmiştir. Aşağıdaki şekil, komutun çalıştırılmasının çıktısını göstermektedir. raylar denetleyici oluştur.

Raylar – Komutlar oluşturun

Oluşturmakta olduğunuz yapılacaklar listesi uygulaması için model, görünüm ve denetleyiciyi otomatik olarak oluşturmak üzere `rails generate scaffold` komutunu kullanın. Terminalinizde aşağıdakileri çalıştırın (hala Rails'te olduğunuzdan emin olun). yapılacaklar_uygulaması dizin):

rails generate scaffold todo_list title:string description:text

Bu, TodoLists tablosu için tam bir CRUD (Oluşturma, Okuma, Güncelleme, Silme) web arayüzü oluşturur.

Bilmeniz gereken başka bir yararlı komut da rayları yok ediyorBu, her şeyi tersine çevirir. raylar oluşturur yapar.

Raylar – Yönlendirme

Rails yönlendirme sistemi, Rails yönlendiricisi olarak adlandırılır ve web uygulamanıza gelen tüm istekleri işler. Gelen istekleri inceler. URL Her bir isteğin izini alır ve yönlendirme dosyasında belirtilen sözdizimini kullanarak, bu isteği işlemekten sorumlu denetleyici eylemine eşler (config/routes.rb).

Yönlendirme dosyası her şeyi kontrol eder. URL Web uygulamanızın bir yönü. Rails, REST mimari stiline dayalı RESTful bir tasarım kullanır ve bu da bir harita sağlar.ping HTTP fiilleri ve istekler arasında URLdenetleyici eylemlerine.

Rota dosyası, çalıştırdığınızda oluşturuldu raylar yeni Daha önce de belirttiğimiz gibi, oluşturmakta olduğunuz yapılacaklar listesi uygulamasına devam ederek aşağıdakileri çalıştırın:

rails db:migrate

Uygulamanın kök dizininde (root) olduğunuzdan emin olun. yapılacaklar_uygulaması dizin).

Sunucuyu tekrar şu komutla başlatın: Rails sunucusu. tip http://localhost:3000/todo_lists/ Tarayıcınızda `<web sayfası adı>` komutunu çalıştırın ve Enter tuşuna basın. Aşağıdaki gibi bir web sayfası karşınıza çıkmalıdır.

Raylar – Yönlendirme

Bu, scaffold komutunun oluşturduğu yapılacaklar listesi görünümüdür ve TodoListsController tarafından kontrol edilir. indeks eylem.

Sayfada bulunan “Yeni Yapılacaklar Listesi” seçeneğine tıklayarak bir yapılacaklar listesi ekleyin. Aşağıdaki ekranı görmelisiniz.

Raylar – Yönlendirme

Dikkat URL şimdi http://localhost:3000/todo_lists/newBu sayfa yeni bir yapılacaklar listesi oluşturmak için kullanılır ve TodoListsController tarafından kontrol edilir. yeni yöntemi.

Yapılacaklar listenizin başlığını ve açıklamasını forma girin ve "Yapılacaklar listesi oluştur" düğmesine tıklayın. URL olarak değişmeli http://localhost:3000/todo_lists/1, Aşağıda gösterildiği gibi.

Raylar – Yönlendirme

Bu, TodoListsController tarafından kontrol edilen bir yapılacaklar listesinin görüntüleme sayfasıdır. şov yöntem. Geri dönerseniz http://localhost:3000/todo_lists/Artık aşağıdaki ekranda yeni eklenmiş yapılacaklar listesini görmelisiniz.

Raylar – Yönlendirme

Rails, rota tanımını kullanarak her isteği ilgili TodoListsController eylemine eşleyebiliyordu. config/routes.rb.

Bu dosyaya göz atarsanız, tek bir satır göreceksiniz. kaynaklar :yapılacaklar_listeleriBu, Rails'in RESTful rotaları yazmanın varsayılan yoludur. Bu tek satır, hepsi map olan yedi rota oluşturur.ping TodoLists denetleyicisine.

Genel kabul gören kurala göre, her denetleyici eylemi veritabanındaki belirli bir CRUD (Oluşturma, Okuma, Güncelleme, Silme) işlemine karşılık gelir.

koşmak demiryolu güzergahları Uygulamanızda kullanılabilen çeşitli rotaları görmek için komut satırınızda şu komutu çalıştırın. Aşağıdaki şekil, bu komutun çalıştırılmasının çıktısını göstermektedir. demiryolu güzergahları.

Raylar – Yönlendirme

Raylar – Görünümler

Görünüm katmanı, MVC paradigmasının bileşenlerinden biridir ve uygulamanıza gelen her istek için HTML yanıtı oluşturmaktan sorumludur. Rails, varsayılan olarak Ruby için güçlü bir şablonlama sistemi olan ERB'yi (Embedded Ruby) kullanır.

ERB, değişken ikamesi ve akış kontrolü için düz metni Ruby koduyla birleştirerek şablon yazmayı ve bakımını kolaylaştırır. Bir ERB şablonu şunları kullanır: .html.erb eklenti.

Çoğunlukla iki etiket işaretçisi kullanacaksınız; bunların her biri, gömülü kodun belirli bir şekilde işlenmesine ve ele alınmasına neden olur.

Eşittir işareti içeren bir etiket <%= %> Bu, gömülü kodun bir ifade olduğunu ve şablon oluşturulduğunda kodun sonucunun çıktıya yerleştirilmesi gerektiğini gösterir.

Eşittir işareti olmayan diğer etiket <% %> Bu, kod sonucunun çıktıda değiştirilmemesi veya yazdırılmaması gerektiğini işleyiciye bildirir.

Rails uygulamanızdaki her denetleyicinin karşılık gelen bir alt dizini vardır. uygulama/görüntülemelerve bir denetleyicideki her eylemin karşılık gelen bir eylemi vardır. .html.erb O alt dizindeki dosya.

Bakmak uygulama/görüntülemeler Oluşturmakta olduğunuz yapılacaklar uygulamasına ait bir alt dizin bulacaksınız. yapılacaklar listeleri içeren .html.erb İşlemlere karşılık gelen isimlere sahip dosyalar Yapılacaklar Listeleri denetleyicisi.

Raylar – ActiveRecord, Active Record Pattern ve ORM

ActiveRecord, Active Record deseninin Ruby dilindeki uygulamasıdır. Bu desende, bir sınıf veritabanı tablosunu, sınıfın bir örneği ise o tablodaki bir satırı temsil eder.

ActiveRecord genellikle ORM (Nesne İlişkisel Harita) olarak adlandırılır.pingBu, veritabanınızı en rahat kullandığınız dille yönetmenizi sağlayan bir tekniktir. Veritabanından bağımsızdır, bu nedenle veritabanları arasında kolayca geçiş yapabilirsiniz — örneğin, SQLite, MySQL, PostgreSQLSQL Server veya Oracle — aynı kod ve mantığı kullanarak.

Örneğin, uygulamanızdaki tüm yapılacaklar listelerini içeren bir dizi elde etmek için, bağlantı açan, SQL SELECT sorgusu çalıştıran ve sonucu dönüştüren kodlar yazmanıza gerek yoktur.

Sadece yazmanız yeterli. YapılacaklarListesi.allActiveRecord ise, dilediğiniz gibi kullanabileceğiniz TodoList nesneleriyle dolu bir dizi döndürür.

Yapmanız gereken tek şey yapılandırmayı ayarlamak. config / database.ymlActiveRecord, veritabanı sistemleri arasındaki farklılıkları ele alır. Bir veritabanından diğerine geçiş yaptığınızda kodunuzu yeniden yazmanıza gerek kalmaz.

Siz uygulama mantığına odaklanırsınız ve ActiveRecord, veritabanınıza bağlanmanın düşük seviyeli ayrıntılarıyla ilgilenir. Modelleri veritabanı tablolarına eşlemek için adlandırma kurallarını kullanır.

Rails, karşılık gelen veritabanı tablosunu bulmak için model sınıf adlarınızı çoğullaştırır. Bu nedenle, bir sınıf için Yapılacaklar listesiActiveRecord, veritabanında "tablo" adı verilen bir tablo kullanır. yapılacaklar listeleri.

Raylar – Geçişler

Rails veritabanı geçişi (migration), uygulamanızın veritabanını geliştirmek için kullandığınız bir komut dosyasıdır. SQL kodlarını manuel olarak yazmadan veritabanınızı kurmak veya değiştirmek için kullanılır.

Veritabanı şemasındaki değişiklikleri tanımlamak için Ruby kullanır ve veritabanınızın farklı ortamlarda senkronize kalmasını sağlamak için sürüm kontrolünü kullanmanıza olanak tanır.

Rails Migrations, Ruby Alan Özel Dili (DSL) kullanır. Bu, bir tür anahtar görevi görür.tracBu özellik, veritabanı motorunuzu gereksinimlerinize göre kullanmanıza veya değiştirmenize olanak tanır.

Veritabanı geçişleri, uygulama üzerinde çalışan herkesle paylaşılabilir ve değişiklikleri geri almak için geri alınabilir. Bu güçlü bir güvenlik mekanizmasıdır, bu nedenle veritabanınıza kalıcı zarar verme konusunda endişelenmenize gerek yoktur.

Raylar – ActiveRecord Dernekleri

İki ActiveRecord modeli arasındaki bağlantıya ilişki (association) denir. İlişkiler, kodunuzda ilgili kayıtlar üzerinde işlem yapmayı çok daha kolaylaştırır. Dört yaygın kategori vardır.

Birebir: Bir kayıt, başka bir modelin tam olarak bir örneğini içerir. İyi bir örnek kullanıcı profilidir; bir kullanıcının yalnızca bir profili vardır. Bu profil, bir tane var Anahtar kelime.

Birden Çok: En yaygın ilişki — bir modelin diğer bir modelden sıfır veya daha fazla örneğe sahip olması. Kullanın çoktur Bu ilişkiyi belirtmek için anahtar kelime.

Çoktan Çoka: Biraz daha karmaşık. ActiveRecord bunu ele almak için iki yol sunuyor: has_and_belongs_to_many hem de has_many :throughBu, ayrı bir tabloda tanımlanan birleştirme modeline erişmenizi sağlar.

Polimorfik Bire Çok İlişki: Rails'te daha gelişmiş bir ilişkilendirme türüdür. Tek bir ilişkilendirme üzerinde birçok farklı modele ait olabilecek bir modeli tanımlar.

Raylar – ActiveRecord Doğrulamaları

Doğrulama, doğru verilere sahip olduğunuzdan emin olmanıza yardımcı olur, çünkü hatalı verilerle çalışmak risklidir ve işletmenize maliyet getirebilir.

Doğrulama, kötü niyetli kullanıcıların veritabanınıza zararlı veriler eklemeye çalışmasına karşı ek bir güvenlik katmanı da sağlar. Rails, veritabanınızı temiz, güvenli ve hatasız tutan ActiveRecord'da temiz bir doğrulama yardımcıları API'si sunar.

ActiveRecord doğrulama işlemleri, veritabanına kaydedilmeden önce model nesneleri üzerinde çalıştırılır; bu da onları daha güvenilir kılar ve en iyi uygulamalara uygundur.

Aşağıdaki ActiveRecord yöntemleri, model nesneleri üzerinde çağrıldıklarında doğrulama işlemlerini tetikler: oluşturun, yaratın!, kaydedin, kaydedin!, güncelleyin ve güncelleyin!Patlama versiyonları (Oluştur!, Kaydet! ve Güncelle!Kayıt geçersizse bir istisna fırlatır, ünlem işareti içermeyen sürümler ise bunun yerine false döndürür.

ActiveRecord doğrulama yardımcılarının en yaygın olanları şunlardır:

  • Onayla: İki alanın aynı değere sahip olduğunu doğrular; örneğin parola ve parola onayı. Varlık doğrulama yardımcı fonksiyonuyla birlikte kullanılır.
  • Durum: Alanın boş olmadığını kontrol eder.
  • Teklik: Örneğin kullanıcı adı gibi bir alan için benzersiz bir değer sağlar.
  • uzunluk: Bir alanın karakter uzunluğuna bir sınır getirir.

Ayrıca, aşağıdaki yöntemi kullanarak kendi özel doğrulama kurallarınızı da oluşturabilirsiniz. onaylamak Bu yönteme özel bir doğrulama yönteminin adını ileterek işlemi gerçekleştirebilirsiniz.

Modelin özelliklerini kontrol edin. hataları Doğrulamanın neden başarısız olduğunu öğrenmek için bir nesne. Bu, uygulamanızı daha kısıtlı ve güvenli hale getirmek, veritabanınıza yalnızca geçerli verilerin girmesine izin vermek için ihtiyacınız olan her şeyi size sağlar.

Raylar – ActionController

Rails denetleyicisi web uygulamanızın merkezidir. Kullanıcı, modeller ve görünümler arasındaki iletişimi kolaylaştırır ve koordine eder.

Denetleyici sınıflarınız şunlardan miras alır: Uygulama DenetleyicisiBu sınıf, diğer tüm denetleyicilerde çalıştırılabilen kod içerir ve bu sınıf da ondan miras alır. Eylem Denetleyicisi::Temel.

Denetleyici uygulamanıza aşağıdakileri sağlar:

  • Harici istekleri dahili işlemlere yönlendirir.
  • Önbellekleme işlemlerini yöneterek uygulamanızın performansını artırır.
  • Görünüm şablonu yeteneklerini genişleten yardımcı yöntemleri yönetir ve ayrıca kullanıcı oturumlarını yöneterek kullanıcılara sorunsuz bir deneyim sunar.

Raylar – Konfigürasyonlar

Rails uygulamanızın başlatıcılarını ve yapılandırma dosyalarını kullanarak başlatıcılar, varlıklar, jeneratörler ve ara yazılımlar gibi bileşenleri yapılandırabilirsiniz. yapılandırma dizin. Dosyalar gibi config/application.rb, config/environments/development.rb, ve config/environments/test.rb Burada bunlar kullanılır. Ayrıca uygulamanız için özel ayarlar da ekleyebilirsiniz.

Raylar – Hata Ayıklama

Uygulamanızı geliştirirken kodunuzda hata ayıklamanız gerekecektir. Rails bunu kolaylaştırır. byebug Bu gem'i kullanarak hata ayıklama oturumunu başlatabilirsiniz. Bunun için anahtar kelimeyi girmeniz yeterlidir. byebug Uygulama kodunuzun herhangi bir yerinde.

Bu, yürütmeyi o noktada geçici olarak durdurur. byebug gem'i çeşitli komutlar sunar. En kullanışlı olanları şunlardır:

  • Sonraki: Sonraki kod satırına geçer, atlaping Geçerli satır tarafından çağrılan tüm yöntemler.
  • adım: Benzer sonrakiAncak, çağrılan her bir metoda ayrı ayrı adımlarla girer.
  • kırmak: Kod yürütmesini durdurur.
  • devam et: Kod yürütmesine devam eder.

Diğer hata ayıklama araçları da mevcuttur, örneğin: gözetlemekHepsi biraz farklı sözdizimiyle benzer işlevsellik sunar. Hata ayıklama kütüphaneleri, uygulamanız için risk oluşturduğu ve kullanıcılarınız için kötü bir deneyime yol açtığı için üretim ortamında kullanılmamalıdır.

Üretim ortamında hatalar için log dosyaları incelenebilir ve buna göre işlem yapılabilir. Ayrıca, uygulamanızı geliştirirken, üretim ortamına dağıtmadan önce her şeyin düzgün çalıştığından emin olmak için Test Odaklı Geliştirme (TDD) yaklaşımını izlemelisiniz.

SSS

Evet. Rails, GitHub, Shopify ve Basecamp'e güç vermeye devam ediyor ve 7. sürüm Hotwire, harita içe aktarma ve yerleşik Trix editör desteği ekledi. Hızlı yinelemeye ve denenmiş, test edilmiş yöntemlere ihtiyaç duyan ekipler için güçlü bir seçenek olmaya devam ediyor.

Rails, Ruby kullanır. Django kullanım Pythonİkisi de güçlü ORM'lere sahip tam kapsamlı MVC çerçeveleridir. Rails, kurallara ve kod üreteçlerine dayanırken, Django birçok ekibin veri yoğun projeler için tercih ettiği bir yönetim arayüzü ve daha katı, açık bir yapılandırma sunar.

Yaygın dağıtım yolları şunlardır: HerokuRender, Fly.io ve AWS'yi Capistrano veya Docker aracılığıyla kullanıyorlar. Çoğu ekip, varlıkları `rake assets:precompile` ile önceden derliyor, `RAILS_ENV=production` olarak ayarlıyor, `rails db:migrate` çalıştırıyor ve uygulamayı Puma artı Nginx veya yönetilen bir yük dengeleyici arkasında sunuyor.

Evet. Yapay zeka asistanları modeller oluşturabilir, ActiveRecord sorguları önerebilir, RSpec testleri taslaklarını hazırlayabilir ve geçişleri inceleyebilir. Özellikle kimlik doğrulama ve veritabanı değişiklikleri için, oluşturulan kodu her zaman Rails kurallarına ve güvenlik yönergelerine göre gözden geçirin ve ardından değişiklikleri onaylayın.

Rails uygulamaları genellikle Ruby SDK'ları veya Faraday gibi HTTP istemcileri aracılığıyla yapay zeka sağlayıcılarını çağırır, istemleri ve yanıtları ActiveRecord modellerinde saklar ve uzun görevleri Sidekiq ile kuyruğa alır. ruby-openai ve langchainrb gibi gem'ler, modern yapay zeka özelliklerini entegre etmeyi kolaylaştırır.

Bu yazıyı şu şekilde özetleyin: