레일스에서 다소 복잡한 관계를 만들려고 노력하고 있으며 그렇게하는 데 가장 좋은 방법을 찾는 데 어려움을 겪고 있습니다. 각 사용자가 선생님과 학생으로 활동하는 Users 테이블이 있습니다. 나는 has_many "students"(그냥 사용자이기도 함)와 has_many "teachers"(그냥 사용자이기도 함)를 갖고 싶습니다. 서브 클래 싱이나 단일 테이블 상속을하고 싶지 않습니다. 나는 단지 사용자간에 두 가지 many_to_many를 원한다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까? 이것은 나쁜 생각입니까? 더 나은 해결책이 있습니까?Ruby On Rails - 동일한 테이블 사이에 많은 것을 다수
0
A
답변
5
당신이 설정 할당 모델 수있을로 사용한다 당신이 다른 모든 대다 관계 :
class User < ActiveRecord::Base
has_many :student_teacher_assignments, :class_name => "StudentTeacherAssignment", :foreign_key => "student_id"
has_many :teachers, :through => :student_teacher_assignments
has_many :teacher_student_assignments, :class_name => "StudentTeacherAssignment", :foreign_key => "teacher_id"
has_many :students, :through => :teacher_student_assignments
end
class StudentTeacherAssignment < ActiveRecord::Base
belongs_to :student, :class_name => "User"
belongs_to :teacher, :class_name => "User"
end
내가 좀 덜 유사하게 할당의 이름을 변경 것이며, 더 의미가 있지만 개념은 동일하게 유지되어야합니다.
+0
Ahhh, 내가 뭘 하려는지 거의 알지 못했지만 약간 잘못하고 있었다. 이것은 잘 작동합니다. 감사! –
관련 문제
- 1. ruby on rails 동일한 모델 객체 사이에 많은 관계가 많음
- 2. 동일한 테이블 (Ruby on Rails)과 다 대다 관계
- 3. ruby on rails : find_by_sql과 동일한 문은 무엇입니까?
- 4. Ruby on Rails 3 다중 테이블
- 5. Ruby on Rails 쿼리
- 6. Ruby on Rails Listener
- 7. Ruby on Rails : Model
- 8. Ruby on Rails MVC 설명
- 9. Ruby on Rails 관계
- 10. ruby on rails + iis7
- 11. Ruby on Rails 그래프
- 12. Ruby on Rails : Running Testing
- 13. Ruby on Rails API 보안
- 14. Ruby On Rails, Reputation System
- 15. Ruby on Rails 블로그
- 16. 정규식 + Ruby On Rails
- 17. Ruby On Rails 마이그레이션
- 18. Ruby on Rails + Devise
- 19. Mootools + Ruby on Rails ==?
- 20. IIS7의 Ruby on Rails
- 21. Ruby On Rails Application.html.haml
- 22. Ruby on Rails 튜토리얼
- 23. Ruby on Rails + Ajax
- 24. Ruby on Rails - 로그인
- 25. Ruby on Rails 스위치
- 26. Ruby on Rails 국제화
- 27. ruby on rails redirect_to
- 28. Ruby on Rails & Javascript
- 29. Ruby on Rails 뷰 생성
- 30. Django 또는 Ruby on Rails
이것은 많은 아이디어가 아니라 많은 것을위한 표준 재료를 따르지만 다른 클래스 대신 동일한 클래스를 사용합니다. class_name 또는 : class라는 관계에 대한 수정자가 있습니다. –