2013-04-19 4 views
2
<% data.programs.client_name.each_with_index do |c, i| %> 
    %article  
     .content 
     %header 
      .logo-wrap 
       %img.client-logo{:src => "<%= data.programs.logo_url[i] %>", :alt => ""}/ 
     %div 
       %a{:href => ""} Program Title 
       %p <%= c %> 
     %p Some text description 
     %img.progam-photo{:src => "some_img_url", :alt => ""}/ 
<% end %> 

나는 Middleman 로컬 데이터 기능을 사용하고 있으므로 여기서 데이터는 yaml 파일에서 가져옵니다. 난 그냥 <% = data.programs.logo_url [I] %> "를 img.client-logo src. 그래서이 과정이 반복되고있다.haml img src에 erb 코드를 어떻게 표시합니까?

에 내가 %의 img.client을 대체 할 수 있습니다 경우 어떻게 출력을 알아낼 수 없습니다 -logo {: src => "< % = data.programs.logo_url [i] %>", : alt => ""/ 보통 img 태그를 사용하는 은 src에서 제대로 출력 할 수 있습니다. 작동 :

<% data.programs.client_name.each_with_index do |c, i| %>  
%article   
     .content 
     %header 
     .logo-wrap     
      <img class="client-logo" src="<%= data.programs.logo_url[i] %>" />  
    %div 
     %a{:href => ""} Program Title 
     %p <%= c %> 
    %p <%= data.programs.program_description[i] %> 
    <img class="program-photo" src="<%= data.programs.img_url[i] %>" />  
<% end %> 

답변

1
%img.client-logo{:src => data.programs.logo_url[i], :alt => ""}/ 

가능한 경고 :

  • data.programs.client_name은 배열입니까?
  • 은 귀하의 코드가 올바르게 식별 되었습니까?
  • %img 태그를 = data.programs.logo_url[i]으로 바꾸면 링크가 있습니까?

haml 태그에는 아무런 문제가 없습니다. 이 그것을 증명한다 :

[[email protected] ~]$ cat a.haml 
- a = [] 
- a << 'image/path' 
%img{:src => a[0]} 

[[email protected] ~]$ haml a.haml 
<img src='image/path' /> 
+0

정의되지 않은 지역 변수 또는 메소드가'내가 – clydealegro

+0

이 @clydealegro 미안 해요, 내가 그렇게 질문을 이해하지 않습니다 '. HTML에서 기대하는 결과는 무엇입니까? data.programs.logo_url의 내용은 무엇입니까? 최상위 루프에서 인덱스로 사용된다면'i'는 어떻게 정의되지 않습니까? – fotanus

+0

<% = data.programs.logo_url [i] %>는 URL 문자열을 출력해야합니다. 이것은 과 같은 경우 작동하지만 왜 haml 형식으로 작동하지 않는지 이해할 수 없습니다 – clydealegro