SORU
21 EYLÜL 2009, PAZARTESİ


Nasıl, require_dependency ve sabitler Raylar ile ilgili yeniden yükleme gerektirir.

Nasıl require require_dependency farklı?
Nasıl require_dependency require olmaz otomatik olarak geliştirme dersleri doldurabilir ?

Raylar' ActiveSupport::Dependencies ve dağıtıcısı.ben kazılırken rb kodu. I require_dependency's kod temelde autoloaded_constants bir dizi sabitleri ekler. ne gördüm Ama clear_application her istekten sonra içeri memuru temizlenmiş olur.

Biri net bir açıklama vermek veya yardımcı olacak bazı kaynakları bana gelin miyim?

CEVAP
7 Mart 2011, PAZARTESİ


require (9 ** onun kuzeni) çekirdek Ruby yöntemleri vardır. require_dependency Raylar bağımlılık yönetimi sorunu ele yardımcı olan bir yöntemdir. Uzun lafın kısası, sunucu kodu bir değişiklik yapmak her zaman yeniden başlatmak zorunda değilsiniz, böylece Raylar geliştirme modunda sınıfları yeniden sağlar. Raylar çerçevesinde değişiklikler yapılırken izlemek ve yeniden böylece 11 ** kodu. Standart Yakut require bunu yapmaz. (Veya eklenti/motoru) bir uygulama geliştirici olarak bu tamamen Raylar için dahili olarak require_dependency hakkında endişelenmenize gerek olmamalıdır.

Raylar sınıf yükleme işleminin sihirli ActiveSupport::Bağımlılıklar modülü. Bu kod varsayılan Ruby davranış Raylar app içinde kod otomatik olarak Raylar' yol ve Dosya Adlandırma kuralları kullanarak modülleri (Modül dan miras kalan sınıfları dahil) yüklemek için izin vermek için uzatır Bu programcı düz Ruby bir uygulama olacak gibi require çağrıları ile kendi kod çöp ihtiyacını ortadan kaldırır.

Koymak için başka bir yol, bu tanımlamanıza olanak sağlar class Admin::User içindeki dosya app/models/admin/user.rb ve Raylar biliyor sen neden bahsediyorsun ne zaman sana haber Admin::User.new başka bir uygulama gibi bir kumanda. ActiveSupport olmadan::Bağımlılıkları el ile 18* *ihtiyacın olan her şey olurdu işin içinde.

Eğer yazılı dil C#, Java gibi statik olarak gelen iseniz, o zaman bu bir sürpriz olabilir vb: Raylar kod gerekli o kadar yüklü değil. Örneğin, User model bir sınıf tanımlı değil user.rb User.whatever_method_here Ara denedikten SONRA kadar dolu değil. Raylar User, kayıp sabit yükler kodunu şikayet engeller Ruby ve Ruby normal olarak devam etmesini sağlar.

Belirli bir ihtiyaç için bir şey diyemem ederken, aslında eklenti ya da bir motor içinden require_dependency yöntemi kullanmak gerekirse çok şaşıracağım. Eğer Raylar kuralları takip ederseniz elle $LOAD_PATH oynamak, ya da bunu yapmamalıydın. Bu "değildir". Raylar yolu

Ve ayrıca Yakut Raylar dünyasında sadelik ve netlik önemli. Yapmak istediğiniz her eklenti ya da bir motor yazmak ve zaten iç içine derin dalış eğer farklı bir açıdan yaklaşan sorun düşünebilirsiniz. İçimden bir ses, gereksiz yere karmaşık bir şey yapmaya çalışıyor olabileceğini söyledi. Ama yine de, tam olarak ne yapıyorsun! hiçbir fikrim yok! :)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Marissah Simonini

    Marissah Sim

    25 HAZİRAN 2013
  • merumputdotcom

    merumputdotc

    24 ŞUBAT 2012
  • New Scientist

    New Scientis

    27 Kasım 2006