Confusione dell'associazione modello Rails
-
28-10-2019 - |
Domanda
Sto costruendo un'app (per imparare i binari) che consente alle aziende/(anche individui) di creare una pagina del profilo per elencare i propri dipendenti e le competenze in modo che un utente sia in grado di trovare persone in base alle competenze in modo che possa assumerle come dipendente del contratto per un periodo di tempo.
Ho questi modelli aziendali, dipendenti, abilità, contratto, ma sono confuso su come fare associazioni tra questi modelli per fare ciò che voglio.
Esistono progetti open source simili a questo, quindi posso imparare da esso.
Soluzione
Sembra che tu abbia bisogno:
class Company < ActiveRecord::Base
has_many :employees
end
class Employee < ActiveRecord::Base
has_many :employeeskills
has_many :skills, :through => :employeeskills
belongs_to :company
has_many :contracts
end
class Skill < ActiveRecord::Base
has_many :employeeskills
has_many :employees, :through => :employeeskills
end
class Employeeskill < ActiveRecord::Base
belongs_to :employee
belongs_to :skill
end
class Contract < ActiveRecord::Base
belongs_to :employee
belongs_to :user
end
class User < ActiveRecord::Base
has_many :contracts
end
Allora puoi chiedere @user.contracts
o @employee.skills
eccetera.
Spero possa aiutare!
Altri suggerimenti
Non sono sicuro di alcun progetto open source da guardare, ma hai vissuto il Guida alle ferrovie per iniziare? Copre le associazioni di base.