나는 자기가 일대 다 설치에 참여하는 레일스 프로젝트를하고 있습니다.레일 연결과 자체 연결 클래스
저는 많은 고객을 보유한 User라는 클래스가 있습니다. 각 고객이 같은 많은 주문 목록을 가지고 : 내 레일 콘솔을 열어 지금
class User < ActiveRecord::Base
has_many :customers, class_name: 'User', foreign_key: 'owner_id'
belongs_to :owner, class_name: 'User'
has_many :order_lists, dependent: :destroy
합니다. 나는이 일을 시도 : 나는이 작업을 수행 할 때
NoMethodError: undefined method `order_lists'
동안 :
user.customers.first.order_lists
는 그 고객의 주문 목록을 수신 할
user.customers.order_lists
내가이 있어요. 그러나 모든 고객의 모든 주문 목록을 어떻게받을 수 있습니까?
아무 생각 없습니까? 호출되는
user.customers
는 모든 고객 사용자 "가"의 배열을 반환합니다, 그래서 당신은
user.customers.order_lists
order_lists
를 호출 할 때 : A의
이를 솔루션은 콘솔에서 작동하지만 주문 목록을 표시하려고합니다. 그래서 내가 페이지 매기기를 원할 때 이것은 작동하지 않습니다. 다른 해결책? – Niels
OrderList.find (user.customers.map (& : order_list_ids) .flatten 이외의 해결책이 표시되지 않습니다.) 그리고 이전 대답을 바탕으로 구축되었습니다. – Leito
주문 목록에서 범위를 쓸 수 있다고 생각합니다. – annalogarhythm