Rails Model Association Путаница - PullRequest
       21

Rails Model Association Путаница

1 голос
/ 11 сентября 2011

Я создаю приложение (для изучения рельсов), которое позволяет компаниям / (частным лицам) создавать страницу профиля, чтобы перечислять своих сотрудников и навыки, чтобы пользователь на моем сайте мог находить людей на основе навыков, чтобы он / онаЯ могу нанять их в качестве работника по контракту на определенный период времени.

У меня есть эти модели: компания, работник, квалификация, контракт, но я не совсем понимаю, как связать эти модели для выполнения того, что я хочу.

Существуют ли какие-либо проекты с открытым исходным кодом, подобные этому, поэтому я могу извлечь из них уроки.

Ответы [ 2 ]

2 голосов
/ 11 сентября 2011

Звучит так, как вам нужно:

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

Тогда вы можете попросить @user.contracts или @employee.skills и т. Д.

Надеюсь, это поможет!

1 голос
/ 11 сентября 2011

Я не уверен ни в каких проектах с открытым исходным кодом, но вы уже ознакомились с Руководством по началу работы с Rails ?Он охватывает основные ассоциации.

...