¿Por qué recibo un error sin esa columna?
Tengo el modelo de empresa y el modelo Invintaton, las empresas pueden invitar a otras empresas a enviar mensajes y ahora solo necesito mostrar a las empresas que confirman el mensaje
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
pero recibo el error SQLite3 :: SQLException: no existe esa columna: sent_invitations.confrm: SELECCIONE "compañías". * DESDE "compañías" UNIRSE INTERNA "invitaciones" EN "invitaciones". "sender_id" = "compañías". "id" DONDE " sent_invitations "." confrm "= 't'
Y sé que de esta manera solo se muestran las empresas que enviaron la invitación, y es necesario, e incluyó una invitación