2011-05-04 15 views
5

İki ana bileşenden oluşan Rails 3 için bir mücevher geliştiriyorum. Birincisi, ray projesine yeni dosya/klasör ekleyen bir raylı jeneratördür. İkincisi, yukarıda belirtilen tüm dosyaları (DSL'imi kullanan bazı ruby ​​sınıfları) ve varsayılan Rails yığınının bir kısmını yükleyen bir çalışma ortamıdır. Temel olarak, rails c, yönlendirmeler, denetleyiciler, yardımcılar ve görünümler erişebilmek için beklediğiniz her şey var. Belirli bölümler haricinde bir Rails ortamı yüklemenin doğru yolu nedir?Rails parçaları yükleme 3 uygulama

Sidenote: Rails uygulamaları gerektiren iyi makaleler görmek isterim.

cevap

1

Ne demek istediğinizi tam olarak açıklamıyorum, ya da eğer bu yardımcı olacaksa, ama yazdığım bir yardımcı programda yaptığım bir şeye benziyor.

Benim yarar şöyle çevreyi yükler:

#!/usr/bin/env ruby 
require File.expand_path('../../config/environment', __FILE__) 

yüklemek için Gemfile tanımlanan taşlar neden olacaktır ../../config/boot ait gerektirir. Eğer Rails yığınının sadece bir kısmına ihtiyacınız varsa, o zaman sadece Gemfile'ınızdaki yığının bir parçasını istersiniz.

Bu bana raylarım bağlamı, modellere ve diğer kaynaklara erişim sağlar.

(GÜNCELLEME) rayların kısımlarını atlamak için yığın - onun ActiveRecord dışarı takas yapıldığını nasıl bir göz atın: http://www.mongodb.org/display/DOCS/Rails+3+-+Getting+Started

Umut yardımcı olur.

+0

Bundan/değil/yükleme parçaları derdindeyim. 'Config/application' gerektirdiğinin farkındayım – bloudermilk

+0

Sadece Gemfile etrafında değişiklik hakkında biraz fark ettim. Ne yazık ki bu benim için işe yaramıyor çünkü hala normalde çalıştırmak için Rails sunucusuna ihtiyacım var – bloudermilk

+0

Hangi parçaları çalıştırmak vs çalıştırmak istemiyorsunuz? Uygulamaya özel parçalar (yani belirli modeller/kontrolörler/vb)? veya Rails yığınının belirli parçaları? – johnmartirano

1

Belki de Rails::Initializable'a ihtiyacınız var?

Böyle yapabilirsiniz:

initializer "active_support.initialize_whiny_nils" do |app| 
    require 'active_support/whiny_nil' if app.config.whiny_nils 
end