2016-04-07 26 views
0

yeni örneklerini önlenmesi, ben bir model vardır:Oluşturduğum uygulamasında bir model

class Stat < ActiveRecord::Base 
end 

ben dosyasında db/seed.rb içinde Stat 6 farklı örneklerini oluşturmak ve herhangi olacaksa istemiyoruz Daha fazla örnek oluşturmanın veya yarattığımları yok etmenin yolu. Read_only olarak var olan örnekleri istemiyorum, bazı özelliklerin değiştirilmesi iyi ve başkalarının değişmesini nasıl engelleyeceğimi biliyorum. Ancak, modelin kendisini kilitlemek için herhangi bir yol bulamıyorum.

Ruby on Rails geliştirme konusunda oldukça yeni. Mümkün mü?

+0

kılma' initialize' ve bu 6 örneklerine ilişkin özellikleri aramakta, buldukları değilse o zaman ', – bjhaid

cevap

2

before_create/destroy filtreleri kullanın. `Da var çünkü

class Stat < ActiveRecord::Base 
    before_create -> (model) { raise SomeError } 
    before_destroy -> (model) { raise SomeError } 
end 
+0

o salt okunur Stat'' örneklerini yapmaz bir hata raise' güncelleme işlemi. Üstelik, eğer 'delete_all'ı konsoldan çalıştırırsanız, tüm kayıtları silecektir, çünkü geri çekilme hakkında bir şey ifade etmemektedir :) –

+0

Bu özellikle sorulmuştur çünkü' 'read_only ' özniteliklerin bazılarını değiştirmek gayet iyi ' –

+0

Konsol gelince ... sadece bunu yapma :) –