Warum bekomme ich Fehler keine solche Spalte?
Ich habe Firmenmodell und Modell Invintaton, Firmen können andere Firmen zum Messaging einladen und jetzt muss ich nur Firmen anzeigen, die das Messaging bestätigen
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
aber ich erhalte den Fehler SQLite3 :: SQLException: keine solche Spalte: sent_invitations.confrm: SELECT "Unternehmen". * FROM "Unternehmen" INNER JOIN "Einladungen" ON "Einladungen". "sender_id" = "Unternehmen". "id" WHERE "sent_invitations". "confrm" = 't'
Und ich weiß, dass auf diese Weise nur Unternehmen angezeigt werden, die die Einladung gesendet haben, und es ist erforderlich, und eine Einladung enthalten