49795


Rails初心者です。  
ファットコントローラ問題を解決する方法をネットで調べていましたら、以下のような記事がありました。  
<https://postd.cc/how-dhh-organizes-his-rails-controllers/>

ここには

[code]

    class Inboxes::PendingsController < ApplicationController
    
[/code]

というものが紹介されています。  
通常のコントローラですと、`rails g controller コントローラ名`で作成しますが  
上記のようなコントローラはどのようなコマンドで作成するのでしょうか？

また、上記コントローラの`::`というのは、どのような意味を持つのでしょうか？


CC BY-SA 4.0
2018-10-29T22:52:40.997
49769
2018-10-30T10:10:00.203
26111
question
ruby-on-rails
Railsのコントローラについて教えてください


`::` は演算子の一種で、「モジュールの中のモジュール」を表現/参照したい時に使います。  
ここでは `Inboxes` モジュールの中にある `PendingsController` クラスという意味です。

ジェネレータでの作成方法ですが、 `rails generate controller` に何も渡さずに実行すると出るヘルプメッセージの中に、

> To create a controller within a module, specify the controller name as a
> path like 'parent_module/controller_name'.

とありますね。


CC BY-SA 4.0
2018-10-30T10:10:00.203
49795
2018-10-30T10:10:00.203
17037
49769
answer