私はRailsを使用していないことに注意してください。私のようなディレクトリ構造を持っている:rubyの親ディレクトリにファイルが必要なのはなぜですか?
foo/
bar/
base_classes/
base_classes.rb
base_classes.rb:
Dir.glob(File.expand_path(File.join("base_classes/config/constants", "*.rb"))) { |file| require file}
Dir.glob(File.expand_path(File.join("base_classes", "*.rb"))) { |file| require file}
私はこのルートディレクトリにいるとき
>> require 'base_classes' #=> true
>> Card.load!
[stuff happens]
しかし、私はFOOにAM /とのいずれかを実行するとき以下:
>> require '../base_classes' #=> true
>> require File.expand_path("../base_classes.rb") #=> true
>> require File.expand_path("../base_classes") #=> true
>> Card.load!
>> NameError: uninitialized constant Card
をインクルードは、expand_path作業に含めるべきではないでしょうか。これは絶対パスを作成します。 –
これはすべきですが... require_relative yieldは何ですか? –