我正构建一个视图来管理两个模型,Doctor
和Schedule
。
我想创建一个html
表来保存这些字段。每列(日)应保持8小时,以便用户友好。
示例:
---------------------------------------------------------------------------------------------
Sunday ! Monday ! Tuesday ! Wednesday ! Thursday ! Friday ! ...
---------------------------------------------------------------------------------------------
hour1 hour1 hour1 hour1 hour1 hour1
hour2 hour2 hour2 hour2 hour2 hour2
... ... ... ... ... ...
hour8 hour8 hour8 hour8 hour8 hour8
---------------------------------------------------------------------------------------------
_form
<% @rows_per_column = 18 %>
<% @columns = 7 %>
<table class="table">
<tbody>
<tr>
<th>Sunday</th>
<th>Monday</th>
<th>Tuesday</th>
<th>Wednesday</th>
<th>Thursday</th>
<th>Friday</th>
<th>Saturday</th>
</tr>
<% 0.upto(@rows_per_column).each do |row| %>
<tr>
<%= f.fields_for :schedules do |builder| %>
<% 0.upto(@columns - 1).each do |column| %>
<% index = row + (column * @rows_per_column) %>
<td><%= index %>
<div class="field">
<%= builder.label :day %>
</div>
</td>
<% end %>
<% end %>
</tr>
<% end %>
</tbody>
</table>
我的想法是通过数组为每天和每小时分配一个默认值,表Schedule
有一个is_available列来设置医生时间可用性(布尔值)。
我一直试图用嵌套循环解决这个问题,但我无法让它正常工作。我怎么能想到这个?