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

no comments no trackbacks

コメント

(leave url/email »)

前のコメント