我在名为Events的模型中定义了一些范围。现在我需要使用OR运算符加入它们。我正在使用Rails3,我对ActiveRelation& Arel以及我应该如何以及如何使用这个
scope :issues, where(:subject_type => "Issue")
scope :for_company, lambda {|company| joins(:user)
.where(:users => { :company_id => company.id })
.includes(:user)}
我如何获得活动
for_company(x) OR issues
当我尝试Events.for_company(X).or(issues)
时出现错误
Events.for_company(Company.find(1)).or(Events.issues)
NoMethodError:未定义的方法`或'#ActiveRecord :: Relation
使用Events.for_company(Company.find(1)).arel.or(Events.issues)
我得
NoMethodError:未定义的方法`或'#Arel :: SelectManager
我希望获取所有问题或用户来自确定公司的事件。
select * from events
join users
on events.user_id = users.id
where users.company_id = 1
or events.subject_type = "Issues"
感谢。
答案 0 :(得分:2)
答案 1 :(得分:-3)
Event.for_company(Company.find(1)).issues