User
adlı bir Ruby nesnesine (özellikle ActiveRecord nesnesine) sahibim. find_by_id
, find_by_auth_token
, vb. Gibi yöntemlere yanıt verir. Ancak, bunlar def
veya define_method
aracılığıyla tanımlanmış yöntemler değildir. Bunun yerine, method_missing
aracılığıyla işlenen dinamik yöntemlerdir.Nesne # yöntemi ve dinamik yanıt verenler
User.method(:find_by_auth_token)
Bu gibi görünmüyor .:, Object#method
aracılığıyla örneğin bu yöntemlerden birine başvuru almak istiyorum
olsa çalışır. Ben ile gelip en iyi çözümdür: bu gibi bir sarıcı yöntemi kullanarak etrafında başka bir şekilde
proc { |token| User.find_by_auth_token(token) }
var mı? Dinamik yöntemler için Object#method
'u gerçekten kullanamıyorum mu?
, bu dinamik bulucu yöntemleri Rails kaldırılacaktır 4.0. Kişisel olarak bunlara ek işlevsellik eklemekten çekinirim. https://github.com/rails/activerecord-deprecated_finders –