Rails Table 带有 where 子句和排序依据
Rails Table with where clause and order by
我是 rails 的新手,所以我不熟悉 rails 的 SQL。
我有以下不可用性 table,我只想显示日期为今天或更晚的那些。我也按 employee_id.
订购它们
<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>
此解决方案的语法是什么?
更新:由于 OP 完全重写了问题以提出一个完全不同的问题,因此这个答案不再有意义了。但它确实回答 the original question.
假设 Scheduling
模型上的 employee
属性 和 Nonavailability
模型上的 employee_name
之间存在某种联系,您应该能够通过您的 Employee
模型在两者之间创建关联(假设它也是一个模型;如果不是,您可能需要更明确地了解您的数据库结构)。
根据设置方式,我假设 has_many :through
关联就是您要查找的内容。然后您就可以在 scheduling
视图中调用 @scheduling_instance.nonavailabilities
来访问 nonavailability
信息。
我为此所做的就是使用以下代码。
<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>
我是 rails 的新手,所以我不熟悉 rails 的 SQL。 我有以下不可用性 table,我只想显示日期为今天或更晚的那些。我也按 employee_id.
订购它们<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>
此解决方案的语法是什么?
更新:由于 OP 完全重写了问题以提出一个完全不同的问题,因此这个答案不再有意义了。但它确实回答 the original question.
假设 Scheduling
模型上的 employee
属性 和 Nonavailability
模型上的 employee_name
之间存在某种联系,您应该能够通过您的 Employee
模型在两者之间创建关联(假设它也是一个模型;如果不是,您可能需要更明确地了解您的数据库结构)。
根据设置方式,我假设 has_many :through
关联就是您要查找的内容。然后您就可以在 scheduling
视图中调用 @scheduling_instance.nonavailabilities
来访问 nonavailability
信息。
我为此所做的就是使用以下代码。
<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>