Bu daha fazla stil sorusu, başkalarının ne yaptığını merak ediyorum.Ruby Style Soru: farklı olası değerlerle karma sabitini saklamak
Veritabanımda blog yazısı için "durum" adı verilen bir alanım olduğunu varsayalım. Ve bir örnek olarak, "taslak", "inceleme bekleniyor" ve "yayınlanmış" gibi çeşitli olası değerlere sahip olmasını istiyorum.
Açıkçası, her seferinde bu sihirli değerlerde "sabit kod" yapmak istemiyoruz, bu DRY olmayacaktır.
Yani ne bazen yapmak böyle bir şeydir:
class Post
STATUS = {
:draft => "draft",
:awaiting_review => "awaiting review",
:posted => "posted"
}
...
end
Sonra kod vb STATUS[:draft]
veya Post::STATUS[:draft]
Bu, Tamam çalışan olarak daha sonra atıfta yazabilir ancak birkaç şey vardır Bundan hoşlanmıyorum.
- bunu bir hata atmaz bir yazım hatası ve
STATUS[:something_that_does_not_exist]
gibi bir şey ararsanız, sadece nil döndürür ve Hiç bir gýcýk fark etmeden vb veritabanında, bu ayarı sona erebilir - It bilmiyorum
... temiz veya yakut-imsi if some_var == Post::STATUS[:draft]
böyle şeyler yazmaya, bir şey daha iyi bir yoldur, ama sadece diğer insanların ne yaptığını görmek istedim söylüyor görünmüyor. Teşekkürler!
Güzel John, teşekkürler! –