Я должен отображать маршрут транспортного средства, тариф и останавливать детали в формате таблицы.
структура таблицы
Route Stops Fare Morning Arrival Time Evening Arrival Time
A A1 100 09:00 AM 04:00 PM
A2 200 10:100 AM 05:00 PM
B B1 100 09:30 AM 04:10 PM
B2 200 10:40 AM 05:10 PM
B3 300 11:00 AM 05:30 PM
Я пробовал следующий код, но я не получил табличный формат, о котором я говорил выше.
<table border="1">
<tr>
<th>Route Name</th>
<th>Stop Name</th>
<th>Fare</th>
<th>Morning arrival</th>
<th>Evening arrival</th>
</tr>
<% @stops.each do |stop| %>
<% @no_of_stop = stop.route.no_of_stop %>
<tr>
<td rowspan = '<%= @no_of_stop %>' ><%= stop.route.route_name %></td>
<td ><%= stop.stop_name %></td>
<td><%= stop.fare %></td>
<td><%= stop.morning_arrival %></td>
<td><%= stop.evening_arrival %></td>
</tr>
<% end %>
</table>
Я получил этот стол.
Пожалуйста помогите..
Судя по именам атрибутов, это похоже на то, что ваши модели немного отложены назад или ссылаются в этом представлении.
Предполагая, что у вас есть несколько routes
и каждый из этих маршрутов ссылается на ряд stops
например, посредством отношения has_many
было бы более целесообразно отображать маршруты, а не остановки ИМО:
<table border="1">
<tr>
<th>Route Name</th>
<th>Stop Name</th>
<th>Fare</th>
<th>Morning arrival</th>
<th>Evening arrival</th>
</tr>
<% @routes.each do |route| %>
<tr>
<td rowspan="<% route.stops.count %>"><%= route.route_name %></td>
<% route.stops.each do |stop| %>
<td ><%= stop.stop_name %></td>
<td><%= stop.fare %></td>
<td><%= stop.morning_arrival %></td>
<td><%= stop.evening_arrival %></td>
<% end %>
</tr>
<% end %>
</table>
Конечно, это будет работать только в том случае, если a route has many stops
.
О, и если route.no_of_stop
- это, например, столбец кеша счетчика, вы можете, конечно, снова заменить route.stops.count
.
html
тег, так как здесь он кажется более актуальным, чем RoR.@stops
? Является ли целью избежать повторного вывода имени остановки, а скорее визуальной группировки строк?