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。所以这个过程正在循环。

如果我将 %img.client-logo{:src => "<%= data.programs.logo_url[i] %>", :alt => ""}/ 替换为正常的 img 标签,我可以正确输出源代码。

这有效:

<% 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 %>
4

1 回答 1

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

可能的警告:

  • data.programs.client_name 是一个数组?
  • 您的代码是否正确识别?
  • 如果您将%img标签替换为= data.programs.logo_url[i]您有链接?

haml 标签没有任何问题。这证明了这一点:

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

[fotanus@thing ~]$ haml a.haml 
<img src='image/path' />
于 2013-04-19T03:12:01.027 回答