0

ライブラリフォルダーに games_account.rb ファイルを作成しました。以下は構造です

module GamesAccounts
    class GamesAccountsClient
.
.
.
.
.
end
 end

コントローラーで GamesAccounts::GamesAccountsClient.new を実行しようとすると、エラーが発生します

uninitialized constant GamesController::GamesAccounts

私も追加しました

config.autoload_paths += %W(#{config.root}/lib) in the applications.rb

私はここで何か悪いことをしていますか?

4

3 に答える 3

1

lib/games_accounts/games_accounts_client.rbこれについてはよくわかりませんが、現在持っているものの代わりにそれを入れる必要があるかもしれないと思いますlib/games_account.rb。アイデアは、そうあるべきですlib/<module name>/<class name>.rb

于 2013-03-04T22:04:27.633 に答える
0

問題はあなたのファイルにあり、games_account.rbではなくgames_accounts.rbという名前を付ければ、動作するはずです (モジュール名と一致するため)。

このモジュール内に多くのクラスを配置する場合は、games_accounts という名前のディレクトリを作成し、そこに各ファイルの各クラスへのマッピングを使用してクラスを追加し、次のようにapplication.rbファイルに配置します。

config.autoload_paths += %W(#{config.root}/lib/games_accounts)
于 2013-03-04T22:17:30.007 に答える
0

別の考えがあります。ファイルがモデルを支援するものである場合は、それを懸念フォルダーの形式で保持し、そこにファイルを追加してみてください。Rails 4 以降では、これらすべてのサポート活動は懸念によって引き継がれるため、すぐに採用することをお勧めします。DHH によるブログ投稿もお読みください。

http://37signals.com/svn/posts/3372-put-chubby-models-on-a-diet-with-concerns

于 2013-03-04T22:20:30.163 に答える