JQuery | 要素の存在を確認する
2011 年 10 月 31 日
コメントはありません
タイトルに書いたことを実現するのに、Railsだとobserve_fieldっていうのを使うと楽勝なんだけど、これがActiveScaffoldで動的ロードするFormにあるコンボボックスだと、AJAXでロードする情報のなかにJavaScriptを書くことになってしまい動かないっていう罠。
AJAXのレスポンスをinnerHTMLにぶち込んでごにょごにょとかそういう話もググれたんだけど、ActiveScaffoldだけにその辺自由度なく微妙。
そこで苦肉の策として、Helperに「連動元コンボボックスのカラム名_form_column(record, field_name)」メソッドをオーバーライドしてSELECTタグを上書きしつつ、onchangeイベントでコンボボックスの中身をJavaScriptで強制書き換えするっていう何ともいえない香ばしい方法で対処する。
ActiveScaffoldのドキュメントのそれっぽいところには「send_form_on_update_column」とかいかにもなメソッドがあるんだけど、悲しいかな 2.4以降に実装予定ということみたいだ。
いやActiveScaffold超便利なんですけどね。用意された枠内でやってる分には。
自サーバに「SQL Designer」をたてる。
JavaScript全開で、ERDができるスグレものだ。
こうして、どんどんWeb上で出来ることが増えていくんだね。
全てがWeb上で完結する日も、近いな。
Recent Comments