4

エンジンからカスタム足場を機能させようとしています。

通常の Rails アプリで Rails 3.2 の scaffold をカスタマイズするためのチュートリアルに従い、カスタマイズしたテンプレートをエンジンの/lib/templates/erb/scaffoldディレクトリに配置しましたが、エンジンを含むアプリではそれらが取得されません。助言がありますか?

更新: また、Rails ScaffoldGenerator をオーバーライドしてsource_path、テンプレートを配置する他のパスをいくつか試しました: lib/rails/generators/erb/scaffold/templates

4

3 に答える 3

4

ザラザンの答えは、ほとんどの方法で私をそこに導きましたが、それにはいくつかの問題があります. これが私のために働いたものです:

class Engine < Rails::Engine

  config.generators do |g|
    g.templates.unshift File::expand_path('../../templates', __FILE__)
  end

end

これはではなくgeneratorsセクションにあることに注意してください。また、パスがわずかに異なることに注意してください。 app_generators

また、テンプレートを保存する正しいパスはlib/templates/erb/scaffold、必要に応じてerbを使用している言語(hamlやslimなど)に置き換えることだと思います。これがslimで機能することはわかっています。ファイル名は{_form,edit,index,new,show}.html.erb.

于 2014-04-22T04:31:22.593 に答える