2016-05-09 8 views
1

Ich habe eine Anwendung, wo ein Profil für Jobs gilt. Es gibt eine has_many-through-Beziehung zwischen Jobs und Profilen, bei der alle Beziehungen in einer Tabelle mit dem Namen "Relationships" gespeichert werden.Schienen: Überprüfen, ob Profil für Job

Nehmen wir an, ein Profil besucht einen Job. Wie kann ich überprüfen, ob eine Beziehung zwischen diesem Profil (current_profile) und dem Job, den er gerade anzeigt, besteht?

Modelle Verbände:

class Profile < ActiveRecord::Base 
    belongs_to :user 

    has_many :relationships , dependent: :destroy 
    has_many :jobs, through: :relationships 
end 

class Job < ActiveRecord::Base 
    belongs_to :employer 
    has_many :relationships, dependent: :destroy 
    has_many :profiles, through: :relationships 
end 

class Relationship < ActiveRecord::Base 
    belongs_to :profile 
    belongs_to :job 
end 
+0

Bitte posten Sie Ihre Modell Verbände – dp7

+0

hallo, ich aktualisiert nur die Frage –

+0

Haben Sie versuchen, etwas ähnliches: 'current_user.profile.jobs.where (id: current_job_id)? .any' – kunashir

Antwort

1

Es ist nur sehr einfach überprüfen, ob id von current_profile in Beziehung für z wenn Relationship.all.include existieren? current_profile.id

1

Die Antwort von @kunashir funktioniert. Ich musste einfach überprüfen:

current_user.profile.jobs.where(id: current_job_id).any? 
Verwandte Themen