저는 수년간 쉘 스크립팅을 해왔지만 최근에 Ruby를 사용하여 OOP 프로그래밍을 수행하고 Rails 애플리케이션을 작성하는 초보 프로그래머입니다.Usng Rails ActiveRecord 관계
정의 된 모델 관계를 사용하는 방법에 대해 머리를 감싸는 데 어려움을 겪고 있습니다.
나는 Google 검색을 시도했지만, 기본적으로 has_many, belongs_to 등의 모든 것을 의미하는 치트 시트가 있습니다. 이 항목은 &을 쉽게 이해할 수 있습니다. 특히 SQL로 직접 많은 작업을 해본 결과입니다.
내가 정의하지 않은 것은 실제로 정의 된 관계를 사용하는 방법입니다.
내 경우나는 3 개 모델이 있습니다 위치 호스트 서비스
을관계 (실제 코드가 아닌 그냥 단축) : 나는 할 수 있도록하려면이 경우
Services
belongs_to :hosts
Hosts
has_many :services
belongs_to :locations
Locations
has_many :hosts
서비스로 작업하는 동안 위치에서 열을 표시합니다. SQL에서 이것은 간단한 조인이지만 Rails/Ruby 방식으로하고 싶습니다. 또한 코드에서 SQL을 사용하거나 조인을 다시 정의하지 마십시오.
또한 Seth는 적절하게 복수화해야하는 관계에 대해 정확합니다. 또한 위치에 대한 쿼리는 '첫 번째'와 다를 수 있지만이를 달성하는 방법에 대한 좋은 예입니다. –
참여 테이블이 각 소유 측면에 속하지 않으므로 Has_many through가 작동하지 않습니다 ... – sethvargo
사실이 아닙니다.그것은 효과가있다. 이 쿼리를 생성합니다 : SELECT "services". * FROM "services"INNER JOIN "호스트" "서비스".host_id = "호스트".id WHERE (""hosts ".location_id = 1) –