2016-04-07 8 views
0

の新しいインスタンスを防止、私はモデルを持っていますより多くのインスタンスを作成したり、作成したインスタンスを破棄することができます。存在するインスタンスをread_onlyにしたくない場合は、属性の一部を変更しても問題ありません。他の人が変更されないようにする方法を知っています。しかし、私はモデル自体をロックダウンする方法を見つけることができません。は、私が作成していたアプリケーションでモデル

Ruby on Railsの開発はかなり新しいです。これは可能ですか?

+0

オーバーライド 'initialize'、彼らが発見されていないならば、あなたは'は 'もあるので、それは、読み取り専用Stat''のインスタンスを作成しないエラー – bjhaid

答えて

2

before_create/destroyフィルタを使用してください。

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

をraise'、それらの6つのインスタンスに関連する属性を探し更新アクション。さらに、コンソールから 'delete_all'を実行すると、コールバックについて気にしないので、すべてのレコードが削除されます:) –

+0

これは、具体的には、'私は存在するインスタンスをread_onlyにしたくないので、属性のいくつかを変更するのはうまくです ' –

+0

コンソールについては...それだけを実行しないでください:) –

関連する問題