Haml to HTML / erb ... кто-нибудь может увидеть ошибку, которую я делаю - PullRequest
1 голос
/ 03 января 2012

Я разветвлял проект Rails, использующий Haml, который я до сих пор не изучил. Есть онлайн-конвертер, который помог мне с HTML, но он игнорирует erb, и когда я тестировал свое собственное преобразование, у флэш-сообщений не было классов, связанных с ними, поэтому я знаю, что сделал это неправильно, но могу » не понимаю почему.

Примечание (не беспокойтесь о пробелах в хамле. В коде, который у меня есть

Оригинальный хамл

 - if flash[:notice]
        .alert-message.warning
          %p
            = flash[:notice]
      - if flash[:error]
        .alert-message.error
          %p
            = flash[:error]

Неверный перевод HTML

<% if flash[:notice] %>
    <div class="alert-message.warning">
    <p>
     <%= flash[:notice] %>
    </p>
    </div>
 <% end %>
   <% if flash[:error] %>
   <div class="alert-message.error">
   <p>
   <%= flash[:error] %>
   </p>
   </div>
   <% end %>

1 Ответ

2 голосов
/ 03 января 2012

У вас огромный отступ после первой строки.Это должно быть 2 пробела.

отредактировано : Если вам нужно конвертировать небольшую часть хамла, вы можете узнать, как конвертировать ее вручную.Есть небольшой хамл учебник , где вы можете изучить некоторые основы.Эта часть хамла может быть превращена в следующий erb:

<% if flash[:notice] %>
  <div class="alert-message warning">
   <p><%= flash[:notice] %></p>
  </div>
<% end %>
<% if flash[:error] %>
  <div class="alert-message error">
   <p><%= flash[:error] %></p>
  </div>
<% end %>

, где: - такой же, как <%

= такой же, как <%=

%p (%tag_name) -> <p>

.class -> %div.class -> <div class="class"

отредактировано # 2 : судя посгенерированный html <div class="alert-message.warning"> должен быть <div class="alert-message warning"> (точка заменяется пробелом между классами)

...