ActiveScaffoldで削除の際に出る確認メッセージをカスタマイズする方法です。
単純にメッセージを変えるのであれば以下のような感じでよいです。
config.delete.link.confirm = "削除してもいいのかい?ホントにいいのかい?"
単純な変更ならば、上記でよいのですが
どうせならば何を削除するのかを、ちゃんとメッセージしたい場合は、以下のような感じになります。
例えばusersテーブルの情報を削除する場合です。
削除メッセージに削除対象のnameカラムの内容を表示するようにします。
config.delete.link.confirm = nil
config.delete.link.dhtml_confirm = UserConfirm.new
上記で指定したUserConfirmを以下のように定義します。
class UserConfirm < DHTMLConfirm
def onclick_handler(controller, link_id)
code = ""
if link_id =~ /delete-([0-9]+)-link/
name = User.find($1).name
end
script = <<-END
if (confirm("「#{name}」を削除していいのかい?ホントにいいのかい?")) window.gFireModalLink();
END
end
end
このUserConfirmクラスを
app/controller/users_controller.rb
のコントローラーのクラスの上にでも書いておけばOKです。
(他の場所の方がよいかもしれないですが・・・)
0 件のコメント:
コメントを投稿