如何在计划视图中显示员工不可用表?
在为员工创建时间表时,我希望在时间表模型视图中看到我的员工不可用表。
<div class="col-lg-6 col-sm-12 right">
<% @non_availabilities = NonAvailability.all %>
<table class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th class="col-md-2">Employee</th>
<th class="col-md-2">Date</th>
<th class="col-md-2">Time</th>
<th class="col-md-2">Reason</th>
</tr>
</thead>
<tbody>
<% @non_availabilities.each do |non_availability| %>
<tr>
<td class="col-md-2"><%= non_availability.employee.full_name %></td>
<td class="col-md-2"><%= non_availability.date %></td>
<td class="col-md-2"><%= non_availability.time %></td>
<td class="col-md-2"><%= non_availability.reason %></td></tr>
<% end %>
</tbody>
</table>
</div>
答案 0 :(得分:1)
假设您的雇员表是一个名为Employee
的模型,而您的日程安排表是一个名为Schedule
的模型。
如果您想在schedules
的展示视图(或其他任何视图,例如索引)中列出所有员工,则可以使用以下方法:
class SchedulesController < ApplicationController
def show
@employees = Employee.all
end
end
在“ Employee.rb”(模型)中:belongs_to :schedule
在“ Schedule.rb”(模型)中:has_many :employees
在您的shedules
show.html.erb中:
<% @employees.each do |employee| %>
<p><%= employee.name %></p>
<p><%= employee.position %></p>
<% end %>
答案 1 :(得分:1)
这是对我的问题的非常简单的答案。要在其他模型视图上显示模型表,我需要做的只是以下事情。
<% @employees.each do |employee| %>
<%= employee.name %>
<%= employee.position %>
<% end %>
答案 2 :(得分:0)
@Jake的回答是正确的,只是一个警告。
让我们假设您将时间表定义为两周的花名册,因此关系将变成多对多(而不是belongs_to),并且您将需要一个联接表。
在“ Schedule.rb”(模型)中:has_and_belongs_to_many :employes
在“ Employee.rb”(模型)中:has_and_belongs_to_many :schedules
上周我遇到了类似的问题,此答案很有帮助: Creating a many to many relationship in Rails