質問: Rails初心者です。 ファットコントローラ問題を解決する方法をネットで調べていましたら、以下のような記事がありました。 ここには ``` class Inboxes::PendingsController < ApplicationController ``` というものが紹介されています。 通常のコントローラですと、`rails g controller コントローラ名`で作成しますが 上記のようなコントローラはどのようなコマンドで作成するのでしょうか? また、上記コントローラの`::`というのは、どのような意味を持つのでしょうか?
回答: `::` は演算子の一種で、「モジュールの中のモジュール」を表現/参照したい時に使います。 ここでは `Inboxes` モジュールの中にある `PendingsController` クラスという意味です。 ジェネレータでの作成方法ですが、 `rails generate controller` に何も渡さずに実行すると出るヘルプメッセージの中に、 > > To create a controller within a module, specify the controller name as a path like 'parent_module/controller_name'. > > > とありますね。