1

Railsプロジェクト内にdevise:install作成せずに、どのようにジェネレーターを含めるように工夫していますか?lib/generator

つまり、ここでの魔法は何ですか?require_paths = ["lib"]ジェネレーターを含むトリックを実行するのは誰ですか?

4

1 に答える 1

1

宝石には、レールが探す「ジェネレーター」フォルダー構造があります

lib/generators/devise...

ではdevise.gemspeclibdir が必要なパスに追加されます。

s.require_paths = ["lib"]

つまり、devise を に追加するとGemfile、rails はそのジェネレーターにアクセスできるようになりました。これは、rails が期待する構造と命名規則に従っているためです。

参照用のインストール ジェネレーターは次のとおりです。そのファイルの名前installer_generator.rbを に変更し、クラス名を に変更したInstallerGenerator場合、devise install コマンドはrails g devise:installer代わりにrails g devise:install

うまくいけば、これが問題を解決するのに役立ちます。

于 2013-01-29T15:39:07.013 に答える