2014-09-09 2 views
0

저는 루비가 처음인데 새로운 구문에 익숙해졌습니다. 이것은 프로젝트의 코드 라인입니다. 바닥 글에있는 의 간단한 설명으로 현지 회사 번호를 표시하지만 두 번째 줄의 구문이 다소 혼란 스럽습니다.Ruby 해시 구문

%dt Indonesia 
    %dd{ itemprop: 'telephone' }= I18n.with_locale(:id) { t('meta.phone_number') } 

그래서 {에는 itemprop는 '전화기'} 단지 '전화'값으로 상징 itemprop에 매핑 블록입니다,하지만 당신은 왜 "="는 I18n.with_locale 사이에해야합니까 (: ID) ? 그것은 무엇을합니까? 또한 세 번째 블록 {t ('meta.phone_number')}가 I18n.with_locale (: id)의 매개 변수입니까? 이거나 메소드 호출이라도 I18n.with_locale (: id)입니까?

어떤 도움을 주셔서 감사합니다. <dd> 태그를 방출하는 HAML 말 : 당신이

+3

이 중 절반은 루비/해시 구문이 아니라 HAML 구문입니다. –

+0

사실, [HAML docs] (http://haml.info/docs/yardoc/file.REFERENCE.html)를 읽지 않으시겠습니까? 대부분의 질문에 답할 것입니다. –

+0

% dd 태그는 설명 목록의 용어/이름을 설명하는 데 사용됩니다. –

답변

2
  • %dd 감사드립니다.
  • { itemprop: 'telephone' } : tell Haml 현재 태그의 값이 이고 값이 telephone이어야합니다.
  • = : 루비은 행의 나머지가 평가 말한다 무엇에 현재 태그의 텍스트 내용을 설정 HAML을 말한다.
  • I18n.with_locale(:id) { ... } : 하나 개의 매개 변수 (심볼 :id) 및 블록, I18n에있어서 with_locale를 호출 루비 말한다.
  • t('meta.phone_number') : t 보조자 메서드를 호출하고 하나의 매개 변수 (문자열 meta.phone_number)를 호출하면 루비을 호출하십시오.

모두 모두은,이 같은 무언가를 생성해야합니다

電話 番号이 번역 meta.phone_number 등록 된 현재 로케일이 일본어 인 경우
<dd itemprop="telephone">電話番号</dd> 

.