Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Rails 3 - tables in html.erb

I'd like to view data from different database-tables in a view with tables like this picture shows:enter image description here

I'm familiar with HTML tags <table>, <td> and <tr>, but I'm having trouble with multiple queries in a column.

<table>
  <tr>
    <th>Skills &nbsp; &nbsp; &nbsp;</th>
    <th>Expected-qualifications</th>
    <th>Current-qualifications</th>
  </tr>

   <% @employee.position.skills.each do |skill| %><% @employee.position.expected_qualifications.each do |expected_qualification| %><% @employee.current_qualifications.each do |current_qualification| %>
  <tr>
    <td><%= skill.kategorien %></td>
    <td><%= expected_qualification.sollqualifikation %></td>
    <td><%= current_qualification.istqualifikation %></td>
  </tr>
  <% end %><% end %><% end %>

</table>

This code looks like this:

enter image description here

As you can see, the skills, expected-qualifications, and current-qualifications repeat.

My question: How should the codes be ordered in the table so it will look the way I want it to?

like image 412
Kirinriki Avatar asked Jul 11 '11 11:07

Kirinriki


2 Answers

Try zip:

<% @employee.position.skills.zip(@employee.position.expected_qualifications,@employee.current_qualifications).each |skill expected_qualification current_qualification| %>
<tr>
  <td><%= skill.kategorien %></td>
  <td><%= expected_qualification.sollqualifikation %></td>
  <td><%= current_qualification.istqualifikation %></td>
</tr>
<% end %>
like image 115
Sam Ruby Avatar answered Nov 11 '22 08:11

Sam Ruby


if there is REALLY can be more than one skill, expected_qualification and current_qualification so you use has_many assosiation forposition

<tr>
  <td><%= @employee.position.skills.map(&:kategorien).join(", ") %></td>
  <td><%= @employee.position.expected_qualifications.map(&:sollqualifikation).join(", ") %></td>
  <td><%= @employee.current_qualifications.map(&:istqualifikation).join(", ") %></td>
</tr>

Otherwise you should use has_one association

like image 24
fl00r Avatar answered Nov 11 '22 07:11

fl00r