2013-08-02 24 views
10

Ne anlama geliyor Raylar ActionController :: Metal denetleyici. Ben bu konuda here okudum ama tamamen anlamadım.Aslında Rails ActionController :: Metal

API'leri oluşturmak için kullanılır, ancak API'leri de onsuz oluşturabiliriz.

Peki tam olarak ne yapar ve ne kadar yararlıdır?

Herhangi biri örneklerle açıklayabilir mi?

cevap

23

ActionController :: Metal temelde ActionController :: Base'nin bir alt sürüm sürümüdür. Esas olarak API'lar için kullanılır, çünkü genellikle Rails denetleyiciyle gelen modülleri içermez, böylece performansı artırır (https://gist.github.com/drogus/738168 kullanım durumuna bağlı olarak bile% 40).

Yalnızca en temel denetleyici işlevini içermesi göz önüne alındığında, yalnızca kendi sınıflarınız için gereken özellikleri eklemenize izin verir. Örneğin, bir render belirteç kimlik doğrulama ve filtreleme işlevi ekleyebilirsiniz:

class ApiGenericController < ActionController::Metal 
    include ActionController::Rendering 
    include ActionController::Renderers::All 
    include ActionController::MimeResponds 
    include ActionController::ImplicitRender 
    include AbstractController::Callbacks 
    include ActionController::HttpAuthentication::Token::ControllerMethods 

Bu sizin hesaplama kaynaklarının en iyi şekilde kullanmak sağlamak için temelde hızlı bir yöntemidir.

+0

Teşekkür ederim, bunu çözmeme yardımcı oldu: http://stackoverflow.com/questions/42138227/how-to-use-before-action-on-doorkeepertokencontroller/42139088#42139088 Kapıcı ile! – Francois

İlgili konular