LoginSignup
44
47

More than 5 years have passed since last update.

[小ネタ]RailsのScaffoldテンプレートを上書きするススメ

Last updated at Posted at 2015-03-20

管理画面作る時にrails_adminとかactiveadminを使いたくなるかもしれないがグッと堪えてscaffoldベースで作る方が基本的にマシなのでは無いかと思う。
bootstrapなりfoundationなりのフレームワークに合わせた見た目が欲しいなら、テンプレートを上書きすればいい。

Railsは#{Rails.root}/lib/templates/#{template engine}/scaffold/index.html.hamlって感じのファイルを置いておくとコードジェネレーションの時にそちらを利用するようになっている。
simple_formなんかはそれを利用してデフォルトのformテンプレートを置き換える機能がある。

ちなみに元のテンプレートはerbならrailties/lib/rails/generators/erb/scaffold/templates/にある。
hamlの場合はhaml-railsのlib/generators/haml/scaffold/templates/に入っている。
これをコピってきて適当に弄ると良い。

controllerのテンプレートなんかも上書きしておけば、最初からkaminari適用済みとか調整できる。
scaffold_controllerのテンプレのオリジナルはrailties/lib/rails/generators/rails/scaffold_controller/templates/controller.rb

もうちょっとちゃんと頑張るならlib以下にプロジェクト用のgeneratorを書いておいとくのが良いと思う。
Railsのgeneratorはthorを使ってるんで、APIの詳細を知りたい時はerikhuda/thorのドキュメントも合わせて読むのが良い。

44
47
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
44
47