0

私のconfig/initializers / fineryフォルダーには、次のように構造化されたいくつかの構成ファイルがあります。

initializers
 ├── backtrace_silencers.rb
 ├── inflections.rb
 ├── mime_types.rb 
 ├── refinery
 │   ├── authentication.rb
 │   ├── core.rb
 │   ├── i18n.rb
 │   ├── images.rb
 │   ├── page_images.rb
 │   ├── pages.rb
 │   └── resources.rb
 ├── secret_token.rb
 ├── session_store.rb
 └── wrap_parameters.rb

refinery/rails console --sandbox私は得る

  Refinery.included_modules
  #=> [] 

なんで?Tab後に押すRefinery::Pと、以下のモジュールが表示されます。

Refinery::Page                 Refinery::PagePart             Refinery::PaginationHelper     
Refinery::PageImages           Refinery::Pages                Refinery::Plugin               
Refinery::PageImagesGenerator  Refinery::PagesGenerator       Refinery::Plugins  

ある場合は::、どこかにある必要があり、それを含める必要があります。では、なぜ機能しinclude_modulesているのでしょうか。私が間違っている場合は私を訂正し、モジュールまたはモジュール内にあるクラスを表示するための正しいアプローチを教えてください。http://www.ruby-doc.org/core-1.9.3/Module.htmlを参照しました。

4

1 に答える 1

0

これらのモジュールはに「含まれていない」Refineryため、にリストされていませんincluded_modules

「含む」はRubyで特定の意味を持ちます。基本的には、クラスまたはモジュールが別のモジュールを「ミックスイン」するときですが、のようなものRefinery::Page名前空間です。それをよく説明しているPragmaticProgrammer'sGuideをチェックしてください。

あなたが求めているものを手に入れてみてくださいRefinery.constants

于 2012-11-21T14:38:09.070 に答える