Bir Kullanıcının bir Rails uygulamasında bir gönderi veya yorum düzenleyip düzenleyemeyeceğini kontrol etme yöntemim var. Bir kullanıcı kuruluşlar her iki türdeki sahip olabilirler, çünkü bu yöntem bir parametre post_or_comment
olarak bunlardan birini almak yapmaya karar: Bu muğlak bir parametre olarak bu gibi herhangi bir nesneyi almak için iyi bir uygulama mıBu kullanıcı yöntemi parametresi iyi adlandırılmış mı?
class User < ActiveRecord::Base
def can_edit?(post_or_comment)
post_or_comment.user == self || self.admin?
end
end
ve yapar Parametre için seçtiğim isim anlamlı mı?
CanCan gibi sofistike bir kullanıcı rolü işleyicisi ile ilgilenmiyorum, öğrenmeyi ve basit tutmayı tercih ediyorum.
İki yöntem olarak iki ayrı test yapmalıyım, daha sonra ikisini bir kolaylık olarak gösteren bir üçüncü. Bu test yaparken daha iyi ayrıntılara izin verir. Bir yönetici rolü olduğundan, yöneticinin yapabileceği şey çok açık, özellikle de kodu başkalarıyla paylaşmayı düşünüyorsanız. Herhangi bir değişken türü almak, gelecekte güvenli bir şekilde çalışmaya başlayacağınızdan emin olmak için gelecekte akıllıca ısınabilir. 'Post_or_comment' gibi parametre adları iyi, ancak kod ya da olmayan bir parametreyi kabul ederse, muhtemelen bunu bilmek ve doğru bir şekilde ele almak istersiniz. –
Bir şansınız olduğunda, buna bir örnek verebilir misiniz? –