プログラミングガール

Developing a better me

Rails Admin:既存の編集画面に独自の編集項目を追加する

なにがしたい

「ああ、Editページに○○を編集するスペースがほしい! 」と思うことがあるかもしれない。
今回だと、ProductモデルにImageモデルが関連づいていて(1商品が複数の商品画像を持っている想定)、
ProductのEditページにImageの表示順編集項目エリアを挿入したいというケース。

↓ つまるところ、こんな風に出したい。 f:id:hana_ori:20160120163834p:plain では実際やってみる。


Editアクションの差し替え

インストールしたRails Admin gem の中身をいじるわけにはいかないので、どうするか。

Rails Engineなので、探索パスの前の方にscssを置いてやればそっちを読みにいく。
参考資料:http://qiita.com/joker1007/items/4ac31f081c44634a5e90#2-3

Railsさんは探索パスの前方に置いた順で読み込んでくれるもよう。

つまり、lib/rails_admin/config/action/edit.rb を作成し、差し替える。


Viewの差し替え

上の理論でViewも差し替え可能なので、サクッと置いてみる。

Haml使うらしい あらかじめHTML(ERB)を作成しておいて、Html2Haml で整形するのが、初心者には優しい(かも)。


まとめ

Edit ActionとViewを差し替えることで、実現したい形に持っていけた。
同様にして、変更したい部分のファイルを差し替えれば、ある程度自由にカスタマイズできそうな気配がした(Rails Adminの意味・・・)。