2014-02-13 2 views
1

나는 ROR의 초보자입니다. 나는 연습을 목적으로하는 단순한 장바구니 솔루션을 만들어서 보석을 사용하고 싶지 않습니다 (예 : spree).레일 - 수량을 추가하는 방법 text_field를 장바구니에있는 제품 목록에 추가하는 방법

제품 목록 페이지가 있습니다. 각 제품 옆에 장바구니에 담기 버튼이 있습니다.

<%= button_to 'Add to Cart', line_items_path(product_id: product), remote: true %> 

이 버튼은 에 line_items_controller 번호가 방법을 만들어 갈 것입니다. 단순히 광고 항목이 생성되거나 1 씩 증가합니다.

def create 
    session[:counter] = 0 

    product = Product.find(params[:product_id]) 
    @line_item = @cart.add_product(product.id) # @cart is actually Cart Model 

    ... 
    end 

내 질문은 내가 수량 옆에있는 제품 목록 페이지에서 장바구니 버튼에 추가의를 text_field 추가 할 방법이다. 이 수량 text_fieldline_items_controller # create 방법으로 게시되지만이 수량으로 광고 항목이 생성됩니다.

이 경우 양식 도우미를 사용하면 어떤 모델 개체를 참조해야하는지 혼란 스럽습니다. form_helpers를 사용하지 않고 text_field를 추가하는 다른 방법이 있습니까? 이 상황을 해결하는 가장 좋은 방법을 제안 할 수 있습니까?

나는 이것이 매우 순진한 질문 일지 모른다. 그러나 나는 약 3 시간 동안 정말로 혼란 스러웠다. 제발, 나를 안내 해줘.

<%= text_field_tag 'quantity' %> 

이 그런 다음 생성 작업에 매개 변수로 quantity 액세스 :

quantity = params[:quantity] 

quantity 매개 변수를 화이트리스트해야합니다

답변

0

당신은 text_field_tag

이 양식이 추가 사용할 수 있습니다 . In Rails 4 :

def line_item_params 
    params.require(:line_item).permit(:quantity) 
end 
+0

제안 된 솔루션이 내 문제를 해결합니다. 추가 정보는 text_field_tag를 사용하기 위해 form_for 대신 form_tag를 사용해야합니다. –

관련 문제