查询通过关联从has_many获取数据

问题描述:

class Employee < ActiveRecord::Base 
    has_many :sim_employees, dependent: :destroy 
    has_many :sims, through: :sim_employees 
end 

在我的sim_employees表中我有employee_id sim_d和is_local :: boolean。查询通过关联从has_many获取数据

id employee_id sim_d is_local 
1 1   2  1 
2 1   3  0 
3 1   5  0 
4 2   1  0 
5 2   8  0 

所以现在我的要求是

员工/ index.html.erb

<%@employees.each do |employee|%> 

<%=employee.name%> 
# here I need a query if employee.id is_local is 1 for all employee than it will show local. If it is a combination of both 1 and 0 than it will show local/std if its 0 then it will show std. Please let me know how I will fetch this data from sim_employees table here. 
<%end%> 

现在我需要一个查询,如果employee.id is_local设置为1的所有员工比它会显示本地。如果它是1和0的组合,那么它将显示本地/标准,如果它的0,那么它将显示标准。请让我知道我将如何从sim_employees表中获取这些数据。提前致谢。

def of_call_type 
    call_types = self.sim_employees.map(&:is_local) 
    if call_types.include?(true) and call_types.include?(false) 
     "Local/STD" 
    elsif call_types.include?(true) 
     "Local" 
    else 
     "STD" 
    end 
end 

写这个方法employee.rb

鉴于

<%@employees.each do |employee|%> 

<%= employee.name%> 
<%= employee.of_call_type %> 
<%end%> 
+0

@dinshaw raje是它的工作? –

+0

是的,它的工作原理:) – railslearner

+0

谢谢你这么多 – railslearner