2010-07-28 8 views
0

저는 레일에 처음 왔으며 지금까지 모든 정보를 얻기 위해이 guide을 읽습니다.ActiveRecord 연관 모델

나는 간단한 시나리오가 있으며 내 협회가 잘 작동하는지 확인하고 싶습니다.

시나리오 :에 User 로그 - -> 많은 groups 설정> 각 그룹이 많은 employees

User 모델이 있습니다

class User < ActiveRecord::Base 
    has_many :groups 
end 

Group 모델 :

class Group < ActiveRecord::Base 
    belongs_to :user 
    has_many :employees 
end 

Employee 모델 :

class Employee < ActiveRecord::Base 
    has_many :groups 
    belongs_to :group 
end 

질문

  • 윌 내가 언급 한 시나리오에이 작품?
  • User 아래에 모두 Employees을 얻는 방법에 대해 혼란스러워합니다. 그 코드는 무엇이겠습니까?
  • 이러한 모든 모델에 대해 일반적인 CRUD가 필요한 경우 내 조치에 포함됩니까? index/create/update/destroy? 누군가가 나를 행동에 대한 훌륭한 지침으로 안내 할 수 있습니까?

답변

0

은 또한을 통해 has_many을 좋아한다

User.first.groups.each{|group| group.employees.each{|employee| puts employee.name}} 
0

당신은 대부분의 경우, 함께 그것을 가지고,하지만 난 당신이 has_and_belongs_to_many 볼 필요가 있다고 생각 (자주 HABTM로 축약 표시됩니다.) 지수, 생성, 업데이트 및 대한 CRUD 목록 될 것 파괴 Ruby on Rails. 좋은 가이드로서, 저는 Dave Thomas가 만든 Agile Web Development with Rails를 좋아합니다. (내가 새로운 주제를 고를 때 나는 전자 책 또는 기타 책을 좋아한다.) The Practical Programmers를 통해 온라인으로 볼 수있다. "좋은 가이드가 무엇인지"에 대한 질문은 꽤 주관적입니다. 따라서주의해야합니다.

user = User.find(23) 
user.employees.do_something 

그렇지 않으면, 당신은 당신의 그룹과 직원을 통해 루프 수 (좀 추한,하지만 작동) : 그럼 당신은 갈 수

class User < ActiveRecord::Base 
    has_many :groups 
    has_many :employees, :through=>:groups 
end 

-

관련 문제