あなたは正しいです。Braintree gem にはクラス Address があります。ただし、Address クラスは Braintree モジュール内にあります。これはモジュール内にあるため、クラスはモジュールと競合してはなりません。もちろん、Address クラスも Braintree という名前のモジュール内にある場合を除きます。irb では次のような動作が見られるはずです。
module Braintree
class Address
end
end
module MyModule
class Address < String #Or ActiveRecord::Base or any class
end
end
アドレスは別のモジュールにあるため、問題なく動作するはずです。ただし、それらが同じモジュールにある場合:
module Braintree
class Address
end
end
module Braintree
class Address < String #Or ActiveRecord::Base or any class
end
end
上記の投稿と同様のエラーが表示されます。
したがって、オプションは、Address クラスの名前が一意であることを確認するか、別のモジュール内にあり、参照するたびに正しい Address オブジェクトを参照していることを確認することです。