Как отобразить код erb внутри haml img src?

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

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' />
Другие вопросы по тегам