rails管理画面:typusメモ
紹介
railsのシステム管理画面作成サポートで使われているgemとして有名なのは次の3つ
その中で、私が一番しっくり来て使い慣れている、typusの解説でもメモ代わりに残しておきます
typusの一番の利点は、その拡張性の高さです
rails_adminやactive adomin触ってみたのですが、最初の段階では格好良く見えるのですが
その後使い込んで行くと、だんだんと拡張性の限界が出てくるものです
最初は開発者がちょっとテストデータを作成するために使っていたものが
その後運用フェーズで開発者以外にも利用されるようになってしまった時に
今ある状態から自然な形で段階を踏んで拡張をしていくための、カスタマイズのための仕掛けがよく出来ているのです
実際には、typusの場合は、view、helper関数、コントローラーのいずれの機能も、内部で関数ごとに良く機能分割されていて
そのうえで、gemの機能をオーバーライド出来る様に設計されているので
一部の機能だけを上書きして変更しやすい、そのため管理画面を”実運用レベルまで”に持って行けるのが強みです
rails_adminやactive_adminの場合、編集結果を反映するのに、再起動が必要だったり
カスタマイズのためのファイルが一つだけなので、複雑なカスタマイズを行おうとすると、ものすごくそのファイルが長くなったりするのですが
それが無いのが強みですね
逆に欠点というと、実際にviewがレンダリングされる迄にviewもhelper関数をミルフィーユの様に重ね重ね通過して行くので
実際にどこを編集すれば望みの箇所をカスタマイズ可能かという事に関しては、コードを時間をかけて
手繰って行く努力が必要になります
場合によっては、全部自分で書いてしまった場合が早い場合もあります
(経験値が溜まると、だんだん逆になって行きます)
個人的には、ピンポイントで編集して、最小の編集で済ませようとするよりも
最初は学習コストに見合わないと感じたら、viewごととか丸ごと機能をオーバーライドして
自分で、分かる様に作って行けば良いと思っています
インストール方法
そのたりは公式のドキュメント以外にも色々あるので今回は省略
これとかおすすめでしょうか…
rails 管理画面を簡単に作ってくれるtypusをやってみた
日本語化の方法
まずは日本語設定ファイルをシステムに適応してしまいます
日本語設定ファイルの適応
私のgithubに日本語設定のyamlファイルが置かれていますので
git cloneとかして持ってきて下さい
https://github.com/baban/typus_lang
使い方はそちらのページに書かれていますが
railsの所定の箇所に、とってきたファイルにある、日本語設定周りのファイルを設置するだけです
viewファイルの日本語化
現在の状態だと、メニュー等の日本語化がされてもまだ表示されている名前が
「管理者s」等の、複数形のsがよけいにくっついた状態になってしますのでこれを直してしまいます
typysのgemから、以下のファイルをすべて持ってきて
railsのプロジェクトの対応する箇所にコピーします
その後
grep plualize -r app
でplualize メソッドを呼んでいる箇所を全て探してきて
そこのplualize メソッドを取り除いて行きます
-
app/views/admin/resources/index.html.erb
-
app/views/helpers/admin/resources/_sidebar.html.erb
-
app/views/admin/dashboard/widgets/_applications.html.erb
-
app/views/admin/dashboard/widgets/_models.html.erb
-
app/views/admin/dashboard/widgets/_models_extended.html.erb
-
app/views/admin/templates/_belongs_to.html.erb
-
app/views/helpers/admin/resources/_sidebar.html.erb
複数形処理のハードコーディングですが
このあたり、非ラテン語文化圏を意識されていないのかな…と少し悲しくなりますが
現実問題として、activesupportやらのrailsの機能を拝借する感じでは
限界を感じてもいます
とりあえず、上記のカ所だけ対処すれば
概ね目立つ所は対処が終わっているのでこれでよしです
投稿者 baban 2014/08/21 at 06:11