ActiveScoaffoldで、値を自動設定する。
railsでDBを操作するアプリを作るとき、ある特定のカラムは内部的に処理をして、
データを入力したいということがままある。
そんなときにActiveScaffoldではどうするかというと、
"before_create_save"というメソッドをコントローラに書くことで実現できる。
たとえば、カラムが"id","task","created_by"というテーブルがあるとき、
"created_by"には、ログインして登録を行っているユーザを自動的に登録したいというとき。この場合以下のようにコントローラに記述することで、自動登録が可能になる
class TaskController < ApplicationController
active_scaffold :tasks
protected
def before_create_save(record)
record.created_by = current_user
end
end
同様に、"after_create_save"というメソッドも使える。
« 3/8 ねこねこねこ | トップページ | うっかり話した方言 (今日のテーマ) »
「ruby/rails」カテゴリの記事
- acts_as_paranoid(2008.04.01)
- ActiveScaffoldで表示するレコードを設定する(2008.03.31)
- ActiveCalendarの入力フォーマットを変える(2008.03.24)
- ActiveScaffoldListFilters(2008.03.21)
- Activescaffoldでdate/datetimeをカレンダーで入力する(2008.03.21)
コメント