2012-03-07 19 views
6

İnşa ettiğim bir uygulama için InheritedResources uygulamasını kullanmaya başladım ve Github sayfasına baktığımda, bunun kullanımdan kaldırıldığını ve bunun yerine Yanıtlayıcıları kullanmam gerektiğini söylüyor.Rails 3 Üzerinden Devralınan Kaynaklar 3 ... Yanıtlayıcılar

InheritedResources ve Reponder'larda yeniyim, bu yüzden kafam karıştı, ben tümüyle ben FlashResponders ve HTTPCacheResponders belgelerinden göründüğüm zaman InheritedResources (tam REST eylemleri temel "şablon" kodu) aldığım Responder'lardan nasıl alabilirim?

http://blog.plataformatec.com.br/tag/inherited_resources/

böylece demek benim için artık "DİNLENME şablon kodu" diye:

Ben de bu bir göz almış?

cevap

10

responders gem ile bağlantılı olarak respond_with (Rails için yerleşik olan) birleşimi, InheritedResources uygulamasını kullanımdan kaldırır.

respond_with kullanarak RESTful denetleyici oluşturma hakkında mükemmel bir açıklama ve gösteri için lütfen this blog post bir göz atın. Denetleyici eylemlerinin çoğu tek satırlık kodlara indirgenir; InheritedResources ile (o taş arasına gizlenmiş çünkü) hiçbir kod ile bir denetleyici olması mümkün, ama Jose Valim (InheritedResources yaratıcısı) bu da onun alıntı başına okunmaz hale getirilmişse düşündü:

"Ben var yanıt verenlerin soyutlama ve özel Raylar jeneratörlerinin saklanma ve çok fazla mantık gösterme arasındaki mükemmel dengeyi sağladığını buldu. Örneğin, kontrolör eylem başka hiçbir kısmını otomatik hale getirmek isterseniz

responders

flaş mesajları ayarlayarak, devreye girer.


GÜNCELLEME: yok: destroy eylem hakkında

def destroy 
    record = Record.find(params[:id]) 
    flash[:notice] = "The record has been destroyed successfully" if record.destroy 
    respond_with record 
end 
+0

neyi sordu aşağıda yorumcuya? – fringd

+0

@fringd Yukarıdaki kod snippet'i ekledim. Umarım yardımcı olur! –

+0

Yanıt verenler, oluşturma, güncelleme ve yok etme için uygun flash mesajları ayarlayan FlashResponder sağlar. @fringd – graywh