Оператор ::
разрешения области. Что он делает, так это определяет, в какой области можно найти модуль. Например:
module Music
module Record
end
module EightTrack
end
end
module Record
end
Для доступа Music::Record
извне Music
вы бы использовали Music::Record
.
Для справки Music::Record
от Music::EightTrack
вы могли бы просто использовать , Record
так как он определен в том же объеме (что в Music
).
Однако для доступа к Record
модулю, отвечающему за взаимодействие с вашей базой данных, Music::EightTrack
вы не можете просто использовать, Record
потому что Ruby думает, что вы этого хотите Music::Record
. Вот когда вы будете использовать оператор разрешения области видимости в качестве префикса, указав глобальный / основной объем: ::Record
.