Rails3 & ActiveRecord::Relation - Арель и ИЛИ

У меня есть несколько областей, определенных в модели под названием "События". Теперь мне нужно присоединиться к ним, используя оператор 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: неопределенный метод `or'для #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"

Благодарю.

2 ответа

Event.for_company(Company.find(1)).issues
Другие вопросы по тегам