erb дает мне undefined local variable or method for main:Object (NameError)
, если только переменная, используемая в шаблоне erb, не является глобальной.
Это правильно? на ruby 1.8.7 (уровень обновления 249 от 10 января 2010 г.) [i486-linux]
Ниже приведен код, который работает. Если я уберу $
из имени переменной ($db, $db_root, $db_root_password), я получу ошибку.
$db = get_single_argument("database name")
$db_root = get_single_argument("database root user name")
$db_root_passwd = get_single_argument("database root user password")
mysql_commands = get_conf_file("installer_mysql.erb")
puts mysql_commands.result #gives me the error
и процедура get_conf_file
def get_conf_file(file)
return_array = Array.new
if (File.exists?(file))
return_array = ERB.new File.read(file)
end
return_array
end
#result
, которая требует передачи привязки вызывающего объекта (которая содержит все ссылки на переменные). - person d11wtq   schedule 29.12.2011