“Ruby On Rails” oluÅ?turulan model isimlerinde otomatik olarak ingilizce kurallarına göre iliÅ?kilendirme yapar. Ã?rneÄ?in; “sample” isimli model için “samples” tablosunu arar. Tabii ki bu Türkçe uygulamalarda bize sorun çıkartacaktır. Ya her model için “set_table ‘tablo’” kullanacaksınız ya da environment.rb dosyasında sanki bunu düzensiz bir ingilizce kelimeymiÅ?çesine belirteceksiniz ( inflect.irregular ‘ders’, ‘dersler’ ) ya da son olarak Ruby On Rails’e Türkçe öÄ?reteceksiniz.
- # Ruby için türkçe model-veritabanı iliÅ?kilendirmesi
- # muarifer, murat.celiker@gmail.com
- Inflector.inflections do |inflect|
- inflect.plural /([eiöü]([^aeıioöuü]+)|[eiöü])$/i, '\1ler'
- inflect.plural /([aıou]([^aeıioöuü]+)|[aıou])$/i, '\1lar'
- inflect.singular /([eiöü]([^aeıioöuü]+)|[eiöü])ler/i, '\1'
- inflect.singular /([aıou]([^aeıioöuü]+)|[aıou])lar/i, '\1'
- end
Ruby On Rails. “ders” isim model oluÅ?turduÄ?umuzda bunu “dersler” tablosuna baÄ?layacaktır.
İÅ?leyiÅ?:
Düzenli ifade kullanarak son karakter aıou ise veya son ünsüz harflerden önceki harf (son hecenin ilk harfi) aıou ise ‘lar’, son karakter eiöü ise veya son ünsüz harflerden önceki harf eiöü ise ‘ler’ çoÄ?ul ekini koymasını söyledik.






