Я использую i18n в rails 3.0.3, и у пользователя есть возможность редактировать текст. Если пользователь сохраняет текст, он поступает из базы данных, а не из файла en.yml. Я переопределяю помощника, как показано ниже:
def c_t(key, options = {})
c_key = (scope_key_by_partial_custom(key)).gsub(".","_")
if $LAYOUT_CONTENTS[c_key].present?
$LAYOUT_CONTENTS[c_key]
else
t(key,options)
end
end
а потом
def scope_key_by_partial_custom(key)
if key.to_s.first == "."
template.path_without_format_and_extension.gsub(%r{/_?}, ".") + key.to_s
else
key
end
end
Я вызываю этот метод из представления:
<h1 <%= c_t '.title' %></h1>
Он отлично работал в рельсах 2.3, но после обновления рельсов до 3.0.3 я получаю сообщение об ошибке **неопределенный метод «шаблон» для класса