レールの下にネストされた名前空間を持つエンジンを生成する方法が見つかりませんでした。これを行うたびに、基本的に、生成されたファイルを手動で編集および移動する必要があります。レールでネストされた名前空間は本当にサポートされていませんか? ありそうもない。
会社では、次のようにすべての名前空間に名前を付けています: CompanyName::ServiceName::Module
Service1 に取り組んでいるときに、カスタマー サポートが顧客の要求に応じてそのサービスのユーザーとデータを操作するために使用するアプリに統合されるエンジンを作成するとき、CompanyName の下にそのエンジンを作成したいと思います。 :サービス1::カスタマーサポート
ただし、Rails ではそれができないようです。
使用
rails plugin new a::b::blah
は認められません:akovanm0:test avandra$ rails plugin new a::b::blah -T --dummy-path=spec/dummy --mountable --full --mountable
Invalid plugin name a::b::blah. Please give a name which use only alphabetic or numeric or "_" characters.
指定
rails plugin new a/b/blah
するとエンジンが生成されますが、出力はrails plugin new blah
- 指定
rails plugin new a_b_blah
すると、名前空間ではなく、リテラル名 a_b_blah を持つエンジンが生成されます。(実際の名前は ABBlah にキャメルケース化されています)
私が達成したいのは、コントローラー、モデル、およびビューがa::b::blah
名前空間で生成され、同じ方法でマウントできるエンジンです。生成されたすべてのコントローラを の下app/controllers/a/b/blah
に、モデルを の下app/models/a/b/blah
に、など...
これを達成する方法はありますか?