레일 3 (베타 4) 용 생성기로 보석을 만들려고합니다. 나는 these instructions을 따라 갔지만 나는 달릴 수 없었다. 문제는 내가 생성기 파일에서 모듈을 정의 할 때 생성기가 '레일즈 생성'과 함께 나열되지만 생성기를 찾을 수 없기 때문에 실행되지 않는다는 것입니다. 지침에서Ruby on Rails 3 생성기 (네임 스페이스 포함)가있는 보석
('설치 레일 my_gem'을 만들어 작동하지 않습니다) : 수정
module MyGem
class InstallGenerator < Rails::Generators::Base
source_root File.expand_path("../templates", __FILE__)
# all public methods in here will be run in order
def add_my_initializer
template "initializer.rb", "config/initializers/my_gem_initializer.rb"
end
end
end
을 (레일 설치 생성 '와 함께 작동) :
class InstallGenerator < Rails::Generators::Base
source_root File.expand_path("../templates", __FILE__)
# all public methods in here will be run in order
def add_my_initializer
template "initializer.rb", "config/initializers/my_gem_initializer.rb"
end
end
을하지만, 내가 원하는 생성기의 네임 스페이스를 가지는 것. company : gem_name : generator, 모듈 접근법을 사용해야한다. 내 추측으로는 조회 및 디렉토리 구조와 관련이 있지만 그 방법을 알 수는 없다. 나는 두 가지 방법을 시도했다 :
lib
-generators
--my_gem.rb
lib
-generators
--company
---my_gem.rb
lib
-generators
--company
---my_gem_name
----my_gem.rb
아무런 도움이되지 않았다. 나는 또한 인터넷에서 꽤 많은 것을 발견했다.
이것은 완벽하게 작동합니다! David Sulc의 답과 같이 다른'rails' 폴더에 중첩 할 필요가 없습니다. –