たとえばあるモデルの状態が特定の値になったら変更できなくする場合です。
モデルにauthorized_for_update?という関数を定義しtrueを返せば変更ができてfalseを返すと変更ができなくなります。
class Sample < ActiveRecord::Base def authorized_for_update? if self.status < 99 true else false end end end
画面上では、変更できないレコードの変更ボタンがグレーになり利用できなくなっています。
authorized_for_update?をauthorized_for_delete?にすると削除できたり、できなかったりになります。
以下が参考になります。
https://github.com/activescaffold/active_scaffold/wiki/Security
ちなみに、このブログでactive_scaffoldに関しての情報を他にも乗せています。
ActiveScaffoldの小ネタのまとめ
0 件のコメント:
コメントを投稿