2017-12-25 44 views
-1

정의되지 않은 메소드`prouct_price? ' 클래스 OrderItems에 대한 - 나는 연결을 정의

CreateOrderItems Migration 
 
    def change 
 
    create_table :order_items do |t| 
 
     t.integer :product_id 
 
     t.integer :order_id 
 
     t.decimal :unit_price 
 
     t.integer :p_quantity 
 
     t.decimal :total_price 
 

 
     t.timestamps 
 
    end 
 
    end
\t OrderItemsController 
 
    def create 
 
\t \t @order = current_order 
 
\t \t @order_item =    @order.order_items.new(order_item_params) 
 
\t \t @order.save 
 
\t \t session[:order_id] = @order.id 
 
\t end 
 
    \t def order_item_params 
 
\t \t params.require(:order_item).permit(:product_id, :p_quantity) 
 
\t end
\t OrderItem Model 
 
    belongs_to :product 
 
    def unit_price 
 
\t \t if persisted? 
 
\t \t \t self[:unit_price] 
 
\t \t else 
 
\t \t \t Product.product_price? 
 
\t \t end 
 
\t end

(OrderItemsController 번호 생성), 그러나 OrderItem에이 PRODUCT_ID를 가져올 수 없습니다의 방법을 만듭니다. 제품에는 많은 주문 항목 관계가 있습니다. 답변하십시오. 내가 뭘하고있는 거지? 는 감사 그것은 단순한 맞춤법 오류가

create_table "products", force: :cascade do |t| 
 
    t.string "product_title" 
 
    t.text "key_features" 
 
    t.decimal "product_price" 
 
    t.string "colour" 
 
    t.string "main_material" 
 
    t.integer "product_quantity" 
 
    t.datetime "created_at", null: false 
 
    t.datetime "updated_at", null: false 
 
    end

+0

'product_price에 대한 정의를 표시 할 수 있습니까? '? –

+0

제품 컨트롤러를 product_price와 공유 하시겠습니까? 방법. – Manishh

+0

def product_params params.require (: product) .permit (: product_title, : key_features, : product_price, : color, main_material, : product_quantity) 끝 – Wasi

답변

1

. OrderItem Model의 unit_price 메서드에서 Product.prouct_price을 사용하고 있습니다.

대신에 product.product_price을 사용해야합니다. 첫 x 째 오류는 철자 오류 였고 두 x 째 오류는 product 대신 Product을 사용하여 OrderItem에 연관된 제품을 사용했기 때.입니다.

unit_pricetotal_price을 연관성 및 간단한 수학을 사용하여 동적으로 계산하거나 값을 계산할 수 있으므로 OrderItem 테이블에 보관 한 이유를 이해할 수 없습니다. 그래서, 저에게 따르면이 값들을 위해 콜럼을 만드는 것은 불필요합니다.

+0

안녕하세요 @Akash Gupta 내가 실수를 강조했지만 오류가 여전히 변경되었습니다. 유적. 내가 unit_price와 total_price를 사용하는 이유는 단가가 카트에 추가 된 제품의 가격과 두 개 이상의 제품에 대한 총 가격을 계속 보유하고 있기 때문입니다. # total_price = p_quantity * unit_price – Wasi

+0

동일한 오류 또는 다른 오류가 있습니까? –

+0

동일한 오류 (정의되지 않은 메소드 'product_price') – Wasi