5

これらのレールキャストがあります。

http://railscasts.com/episodes/218-making-generators-in-rails-3これを使用すると、スタイルシートと足場ジェネレーターを作成する方法がわかります。

http://railscasts.com/episodes/216-generators-in-rails-3これで、いくつかのファイルを追加して足場ビューを変更する方法がわかります。

2つを混ぜてやりたい。足場ビューも作成するジェネレーターを作成したいと思います。Ryan Bates の気の利いたジェネレーターや web_app_theme gem (https://github.com/pilu/web-app-theme) のようなものです。正しい方向に導くためのチュートリアルや情報を探していますが、探しているものを正確に見つけることができません。

私は近くにいることを知っています。Railcast 218 でジェネレーターを作成する方法は既に知っていますが、ビュー ファイルも作成するにはどうすればよいですか?

このようなコマンドを実行したいのですが...

rails g my_scaffold_generator Post title:string body:text
4

1 に答える 1

9

これは手遅れかもしれませんが、同じ情報をグーグルで検索しているときにこれを見つけたので...

少なくともロープを学ぶための最良のアプローチは、既存の足場ジェネレーターを複製してから変更することだと私には思えます。

したがって、最初につまずいたのは、デフォルトのテンプレートを見つけることです。これは、rails-3.2.0ディレクトリ (または使用しているバージョン) には存在せず、railties-3.2.0. したがって、私の RVM ベースのインストールでは、次の場所にありました。

/Users/leo/.rvm/gems/ruby-1.9.3-p194@gemset/gems/railties-3.2.0/lib/rails/generators/

[注: gems ディレクトリはまったく別の場所にある可能性があります。gem$> gem environmentパスを見つけるために使用してください]

ここには、erb/scaffold/templates/期待するファイル (など) があります。new.html.erb_form.html.erb

これらのファイルをアプリのルートにコピーするlib/templates/erb/scaffold/と、デフォルトのファイルの代わりに使用されます。

これらをカスタム ジェネレーターで使用する場合は、次の 2 つの方法があります。

1)hook_forジェネレーターから通常の ERB 足場ジェネレーターを呼び出すために使用します。

2) 独自のカスタム ジェネレーター内でテンプレートを移動/処理し、Thor のcopy_fileおよび同様の方法を使用してテンプレートを所定の位置に移動します。

これについては適切なRails ガイド.../railties-3.2.0/lib/rails/generators/...がありますが、掘り下げてデフォルトがどのように構成されているかを調べるまで、実際には理解できませんでした。

于 2012-09-17T15:20:37.907 に答える