İlk Ruby on Rails web uygulamamla yeni başladım. Bir sürü farklı model, görünüm, kontrolör vb. Var.
Tüm uygulamam boyunca geçerli olan gerçekten küresel sabitlerin tanımlarını yapıştırmak için iyi bir yer bulmak istiyorum. Özellikle, hem modellerimin mantığında hem de görüşlerimde alınan kararlarda uygulanırlar. Onlar hem mevcut konum bu tanımları koymak için herhangi KURU yer bulamıyor tüm benim modelleri ve ayrıca tüm görünümlerinde.
Belirli bir örnek almak için, bir sabit istiyorum COLOURS = ['white', 'blue', 'black', 'red', 'green']
. Bu, hem modellerde hem de görünümlerde her yerde kullanılır. Erişilebilmesi için tek bir yerde nerede tanımlayabilirim?
Ne denedim:
- Model.rb dosyasında en çok ilişkili oldukları sabit sınıf değişkenleri
@@COLOURS = [...]
. Ama onu tanımlamak için aklı başında bir yol bulamadım, böyleceCard.COLOURS
kludgy gibi bir şeyden ziyade görüşlerime yazabilirimCard.first.COLOURS
. - Model üzerinde bir yöntem, benzer bir şey
def colours ['white',...] end
- aynı sorun. - Application_helper.rb'de bir yöntem - şu ana kadar yaptığım şey bu, ancak yardımcılara modellerde değil, yalnızca görünümlerde erişilebilir
- Ben application.rb veya environment.rb bir şey denemiş olabilir düşünüyorum, ama bunlar gerçekten doğru görünmüyor (ve onlar da çalışmıyor gibi görünüyor)
Hem modellerden hem de görünümlerden erişilebilecek bir şey tanımlamanın bir yolu yok mu? Yani, modellerin ve görüşlerin ayrı olması gerektiğini biliyorum, ancak bazı alanlarda elbette aynı alana özgü bilgiye atıfta bulunmaları gereken zamanlar olacak mı?