/ / Generator szyn wymieniony, ale nie odnaleziony podczas pracy - szyny-ruby, szyny-ruby-4, szyny-silniki

Pokazano generator szyn, ale nie można go znaleźć podczas jazdy - szyny-ruby, szyny-ruby-4, szyny-silniki

Jestem w trakcie pisania Rails Engine, a jako część tego mam skrypt generujący kopie niektórych plików migracyjnych.

Generator znajduje się tutaj

lib/generators/install/install_generator.rb

Generator wygląda tak

module Calligraph
class InstallGenerator < Rails::Generators::NamedBase
...
...
end
end

W aplikacji hosta, jeśli robię rails gWidzę to wraz z innymi generatorami.

Calligraph:
calligraph:install

Jeśli uderzę

rails g calligraph:install

wraca z

Could not find generator calligraph:install.

Masz pojęcie o tym, co "brakuje" / "źle"?

Odpowiedzi:

2 dla odpowiedzi № 1

Spróbuj przenieść generator do lib/generators/calligraph/install/install_generator.rb.

Ponieważ twój generator jest zdefiniowany w ramachmoduł, Rails oczekuje, że będzie on zawarty w podkatalogu o tej samej nazwie, podobnie jak kontrolery z nazwami lub inne rozszerzenia Railsowe, które znajdują się w modułach.

Alternatywnie, czasami dostajesz "nie może"znajdź generator ", jeśli masz problem z składnią w generatorze, ale konsola wyplułaby również ślad i szczegóły tego błędu, gdyby tak było.

Aby generator działał poprawnie, musisz również wymagać rails/generators gdzieś w twoim silniku. Zwykle robię to na górze pliku generatora, ale od tego czasu rails g odbiera generator, wydaje się, że gdzieś się nim zajmujesz.