Rails3: Генерация модели в Custom Generator - PullRequest
0 голосов
/ 04 января 2011

Привет, ребята, я пишу собственный генератор (с именем shcaffold) в Rails 3.0.3, и я хотел бы, чтобы он генерировал модель active_record (и миграцию) на основе первого переданного ей аргумента (имя модели).).

Однако я получаю эту ошибку, когда запускаю команду:

$ rails g shcaffold someclass
   error  active_record [not found]

Вот мое определение генератора, хранящееся в lib / generators / shcaffold / shcaffold_generator.rb:

class ShcaffoldGenerator < Rails::Generators::NamedBase
   include Rails::Generators::ResourceHelpers
   source_root File.expand_path('../templates', __FILE__)

   # Run Other Generators
   hook_for :model, :in => :rails, :required => true
end 

Я определяю форму в приложении моего приложения. Rb:

config.generators do |g|
  g.orm             :active_record
  g.template_engine :erb
  g.test_framework  :test_unit, :fixture => false
  g.stylesheets     false
end  

Но, увы, мне не повезло.

Ответы [ 2 ]

0 голосов
/ 03 августа 2013

Еще один аналогичный вопрос, касающийся боли error active_record [not found] в нижних регионах =)

Здесь: Rails: hook_for: orm не находит active_record

Какresol:

  1. Оставайтесь в пространстве имен Rails :: Generators

    Это уже решает большинство не найденных проблем.

  2. настроить ваш генератор по умолчанию.(где-нибудь в пространстве модели Генераторов)

    module Rails
      module Generators
        class Railtie < ::Rails::Engine
            if config.respond_to?(:app_generators)
                config.app_generators.orm = :my_own_model
             else
                config.generators.orm = :my_own_model
             end
          end
       end
    end
    

И у вас больше не будет неприятностей с rails g.

nJoy!

0 голосов
/ 04 января 2011

Нет подробного ответа, но вы должны черпать вдохновение там: https://github.com/ryanb/nifty-generators

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