Почему я получаю ошибку нет такого столбца?
У меня есть модель и модель компании Invintaton, компании могут приглашать другие компании для обмена сообщениями, и теперь мне нужно показывать только компании, которые подтверждают обмен сообщениями
class Company < ActiveRecord::Base
has_many :sent_invitations, class_name: 'Invintation', foreign_key: 'sender_id'
has_many :invitation_recipients, through: :sent_invitations, source: :recipient
has_many :incoming_invitations, class_name: 'Invintation', foreign_key: 'recipient_id'
has_many :invitation_senders, through: :incoming_invitations, source: :sender
end
class Invintation < ActiveRecord::Base
belongs_to :recipient, class_name: 'Company', foreign_key: 'recipient_id'
belongs_to :sender, class_name: 'Company', foreign_key: 'sender_id'
end
class MessagesController < ApplicationController
def new
@company = Company.find(params[:company_id])
@message = @company.sent_messages.new
@recipients = Company.joins(:invitation_recipients).where(invitation_recipients: {sender_id: @company.id, confrm: true})
end
end
но я получаю сообщение об ошибке SQLite3 :: SQLException: такого столбца нет: sent_invitations.confrm: ВЫБРАТЬ «компании». * ИЗ «компаний» ВНУТРЕННЕЕ СОЕДИНЕНИЕ «ИНВИНТАЦИИ» НА «ИНВИНТАЦИИ». «СЕНДЕР_ИД» = «компании». sent_invitations "." confrm "= 't'
И я знаю, что этот способ показывают только компании, которые отправляли приглашение, и это необходимо, и включены приглашения