Mam string z emailami (imię, nazwisko, email):

@emails = "Nina Beeu luda@hotmail.com, Vasilina Korute valaj@kos.co.uk, Hikote Ewefs valaj@kos.co.uk, 
Egert Erm papa@sasee.ee, Sambuka Ioas valaj@kprivet.com, Vanish Kiki sasa@sas.com, Inoke Xxx saop@hot.ee"

Potrzebuję podciągu z tego ciągu: imię, nazwisko i e-mail i wkleić je do tabeli:

<table border=1>
  <tr>
    <td>
        Name
    </td>
    <td>
        Surname
    </td>
    <td>
        Email
    </td>
  </tr>
</table>

Jak mogę to zrobić?

0
Arkady Rodestve 18 lipiec 2011, 16:33

2 odpowiedzi

Najlepsza odpowiedź
<table>
  <% @emails.split(", ").each do |chunk| %>
    <tr>
      <% ["Name", "Surname", "Email"].zip(chunk.split(" ")).each do |data| %>
        <td><%= data.join(": ")</td>
      <% end %>
    </tr>
  <% end %>
</table>
1
fl00r 18 lipiec 2011, 16:40
@emails.split(/,\s+/).each do |details|
  name, surname, email = details.split(" ")
  # do your html creaty thing here
end

Mówiąc dokładniej, możesz to zrobić w erb:

<table border=1>
  <% @emails.split(/,\s+/).each do |details| %>
    <% name, surname, email = details.split(/\s+/) %>
    <tr>
      <td><%= name %></td>
      <td><%= surname %></td>
      <td><%= email %></td>
    </tr>
  <% end %>
</table>

I wariant w haml:

%table(border=1)
  - @emails.split(/,\s+/).each do |details|
    %tr
      - details.split(/\s+/) do |detail|
        %td= detail
1
gunn 18 lipiec 2011, 16:45