查询通过关联从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%>
@dinshaw raje是它的工作? –
是的,它的工作原理:) – railslearner
谢谢你这么多 – railslearner