Rails фактически использует eval
для загрузки специальных файлов среды, таких как config / environment / development.rb .Это код, который он использует:
eval(IO.read(configuration.environment_path), binding, configuration.environment_path)
Вы можете определить метод, такой как load_more_environment
, например:
def load_more_environment(path)
eval(IO.read(path), binding, path)
end
Первый аргумент eval
это просто код, который выхотите загрузить и он будет выполнен в течение текущего binding
.Третий аргумент будет использоваться для сообщения о синтаксических ошибках в файле.