1
레일 3.0.3에서 i18n을 사용 중이며 사용자가 텍스트를 편집 할 수있는 기능이 있습니다. 사용자가 텍스트를 저장하면 en.yml 파일 대신 데이터베이스에서 가져옵니다.template.path_without_format_and_extension 레일 3.0.3에서 작동하지 않습니다. 정의되지 않은 메소드 템플릿 얻기
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
내가보기에서이 방법을 호출하고 있습니다 : 그것은 레일 2.3에서 잘 작동했다
<h1 <%= c_t '.title' %></h1>
을하지만 업그레이드 레일 후에 나는 재정 t 도우미 아래와 같이가 ~ 3.0.3 오류가 발생했습니다 클래스에 대한 정의되지 않은 메서드`template '