带where子句的Rails表

时间:2018-10-22 04:06:21

标签: ruby-on-rails each where-clause

我有一个雇员“不可用”模型,而不是用

在表中显示所有不可用
<% @non_availabilities = NonAvailability.all %>
<% @non_availabilities.each do |non_availability| %>
<%= non_availability.employee.full_name %>
<%= non_availability.date %>
<%= non_availability.time %>
<%= non_availability.reason %>

我只想显示与某些员工ID相关的不可用状态。 我该怎么办?

1 个答案:

答案 0 :(得分:0)

有多种方法可以检索Rails中的记录。例如,您可以使用NonAvailability方法用employee_ids过滤where

ids = [1,2,3,4] # ids of employee
NonAvailabilty.where(employee_id: ids)

如果要利用方法链接,请在has_manybelongs_to模型中定义EmployeeNonAvailability关联。假设您的设计具有此规范。

# employee.rb
class Employee
  has_many :non_availabilities
end

# non_availability.rb
class NonAvailability
  belongs_to :employee
end

然后,您可以使用non_availabilites对象检索所有employee

employee = Employee.find_by(id: 1)
employee.non_availabilities 

有关更多信息,请访问此活动记录协会Guide