Doctor
2 つのモデルを管理するビューを構築しています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
---------------------------------------------------------------------------------------------
_形
<% @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 列があります。
ネストされたループでこれに取り組もうとしていますが、正しく機能させることができません。どうすればこれを達成できるかについてのアイデアはありますか?