면책 조항 : 레일스를 처음 사용했습니다.레일에서이 DB 쿼리를 리팩토링 할 수있는 방법
난 할 노력하고있어이 긴 형태 :
user = Spree::User.find(2)
cart = Spree::Order.where(state: "cart", user_id: user.id)
line_item = Spree::LineItem.where(order_id: cart.last.id).map { |order| order.variant_id}
variant = Spree::Variant.find(line_item).map { |order| order.product_id }
Spree::Product.find(variant).map { |product| product.name }
무엇 발생하면, 그것은 DB로 전환되는 사용자를 발견, 자신의 상태가 장바구니에있는 순서를 가져옵니다. 그런 다음 해당 광고 항목을 찾습니다. 제품이 포함되어 있는지 확인하기 위해 "변형"데이터를 찾으십시오. 그런 다음 제품 페이지에서 사용자 카트의 모든 제품을 알려줍니다.
이렇게보기가 엉망이고 가려집니다. 리팩토링하는 방법을 알지 못하고 질의를 많이하지 않을 것입니다.
"많이 있습니다"라는 키워드가 어디 에나 나타나고 있습니다. 나는 이것에 주목할 것입니다 ... 나는 Spree가 루비에 대한 오픈 소스 전자 상거래 프레임 워크라고 언급 했어야합니다. – BenMorganIO
어떤 Spree 버전을 사용하고 있습니까? Spree :: User ...에 대한 문서 및/또는 코드를 찾을 수 없습니다. – raviolicode
아마 지금 사용자 정의 빌드로 작업 중이기 때문일 수 있습니다. – BenMorganIO