Оператор ::разрешения области. Что он делает, так это определяет, в какой области можно найти модуль. Например:
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.