私のRailsアプリケーションには、APIラッパーを構成するすべてのクラスを保持するモジュールがあります。モジュールを複数のファイルに分割する方法は?
(ファイル:zway.rb)ので、私はそれを分割したい
module Zway
class API
# instantiates API object
end
class Main
# holds top level functions
end
class Controller
# holds controller functions
end
class Error < StandardError
end
class BadRequestError < Error
end
end
は今、そのモジュールを1つのファイルに保管するには大きすぎるなっているここで、モジュールの構造です。モジュールにはいくつかのクラスがあるので、大きなクラスはすべて1つのファイルでなければならないと思いました。だから私はたくさん考えていませんでしたが、それがうまくいくかどうかを調べるために1つのクラスを取りに出そうとしました。
(ファイル:zway.rb)
module Zway
class API
# instantiates API object
end
class Controller
# holds controller functions
end
class Error < StandardError
end
class BadRequestError < Error
end
end
(ファイル:main.rb)
module Zway
class Main
end
end
しかし、今、私は私に権利鳴らない、このエラーを取得していますので、同様私はエラーが文句まさにそうであるように:main.rbでクラスを定義するメイン:
Unable to autoload constant Main, expected /bla/homer/app/models/main.rb to define it
私はモジュールを使用する方法をネットで検索しましたが、主に私が見つけたのは、複数の継承と名前空間に関することでした。しかし、コードを整理するためのモジュールの使用に関する実践についてではありません。
これは価値があるので、道に迷って自分自身を救って、 'module Zway; 'class Zway :: Main'ではなく' class Main'(ネストされたもの)です。名前空間の参照に関しては2つの結果が異なり、前者は通常あなたが期待するものです。もっと徹底的に探検しました(http://randycoulman.com//blog/2014/12/09/namespaced-classes-in-rails/) –