Пользовательские шаблоны Rails 3 Generator с Engine - PullRequest
0 голосов
/ 02 марта 2012

При использовании генераторов rails с Rails :: Engine кажется, что он не берет какие-либо файлы шаблонов, которые помещаются в каталог lib. Как указано здесь

http://guides.rubyonrails.org/generators.html#customizing-your-workflow-by-changing-generators-templates

Прямо сейчас у меня есть

 lib/templates/rails/scaffold_controller

Я тоже пробовал

 lib/my_engine/templates/rails/scaffold_controller

Кто-нибудь еще пробовал это?

Ответы [ 3 ]

2 голосов
/ 05 марта 2012

Похоже, что это не поддерживается для двигателей

В приложении Rails финишер позаботится о добавлении этого к пути

module Rails
 class Application
   module Finisher
    include Initializable

    initializer :add_generator_templates do
      config.generators.templates.unshift(*paths["lib/templates"].existent)
    end

 ......

Так что это должно быть сделано в конфигурации Engine, чтобы это работало.

module MyEngine
  class Engine < ::Rails::Engine
    config.generators.templates.unshift File.expand_path("lib/templates", root)
  end
end

Это ошибка или желаемое поведение?

0 голосов
/ 26 апреля 2013

Если вы используете rails g generator MyGenerator в корневом пути движка Rails 3.2, вы получите что-то вроде этого:

class MyGenerator < Rails::Generators::NamedBase
  source_root File.expand_path('../templates', __FILE__)
end

, который не загрязняет ваш класс Engine и гораздо более локализован длягенератор.

0 голосов
/ 29 августа 2012
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...