template.path_without_format_and_extension Не работает в rails 3.0.3. Получение неопределенного шаблона метода

Я использую 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 я получаю сообщение об ошибке **неопределенный метод «шаблон» для класса


person Rashed Mehmood    schedule 02.11.2017    source источник


Ответы (1)


используйте этот вспомогательный метод в рельсах 3

 view_context.instance_variable_get(:@_virtual_path)
person z.shan    schedule 07.11.2017