简体   繁体   中英

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:在此处输入图像描述

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:

在此处输入图像描述

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?

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

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

<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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM