2010-12-28 9 views
0

에 입력 한 값 "을 참조하십시오"하지 않습니다왜 컨트롤러가 나는 레일 3.0.3보기에이있어 형태

<%= form_tag line_items_path(:product_id => @product), :remote => true do %> 
    <%= number_field_tag (:amount, 1, { :size => 3, :min => 1}) %> 
    <%= submit_tag t('button.add_to_cart'), :name => nil %> 
<% end %> 

뷰는 꽤 괜찮 렌더링합니다. "

p params[:amount] 

인쇄 다음 line_items_controller의 작성 방법에서 나는 번호 필드에 액세스하려고 :

@cart = current_cart 
product = Product.find(params[:product_id]) 
@line_item = @cart.add_product(product.id, params[:amount]) 

작동하지 않았다, 그래서 나는 콘솔에 인쇄하여 번호 필드를 검사하려 nil "형식 필드에 입력 한 내용이 무엇이든 상관 없습니다. 또한

p params 

으로 전체 params 해시를 인쇄하고 amount 필드 즉

{"product_id"=>"1", "action"=>"create", "controller"=>"line_items", "locale"=>"fi"} 

는 "무기 호"를 설명하는이없는 가지고,하지만 난 (좋아, 많은 비트를 해요) 내가 여기 form_tag 문서를 읽었을 때 여기 혼란스러워하고, 컨트롤러가 params[:amount]을 통해 현장 내용을보아야한다는 것을 모았지만 아직 그렇지 않다.

도와주세요. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

/HP

+0

양식이 나에게 잘 어울립니다. 서버 로그에서 무엇을 볼 수 있습니까? – zetetic

+0

레이아웃/응용 프로그램 내 렌더링 된 제품/show.html.erb (82.8ms) 완료 143ms에서 200 초 확인 (조회수 : 84.3ms | ActiveRecord : 4.0ms) { "product_id"=> "1", "action"=> nil Tue Dec 28 28:30에 127.0.0.1에 대해 "/ fi/line_items? product_id = 1"POST를 시작했습니다. "create", "controller"=> "line_items", "locale" : 19 +0200 2010 LineItemsController로 처리 # JS로 작성 매개 변수 : { "product_id"=> "1", "locale"= ""fi "} 카트로드 (0.5ms) SELECT '카트'. ​​* FROM' cart'' WHERE ('carts'.idid = 37) LIMIT 1 – finn

+0

즉, 내가 설명한 것처럼 "p params [: amount]"에서 "nil"이 있습니다. 이외에는 모두 정상적으로 보입니다. – finn

답변

0

지금은 그렇게 바보가 된 기분 ... 그것은이처럼 <td> 태그 안에 compeletely 때 형태는 이제 작동합니다

내가는 form_tag했다
<tr> 
    <td colspan="2"> 
     <%= form_tag line_items_path(:product_id => @product), :remote => true do %> 
      <%= number_field_tag(:amount, 1, :size => 3, :min => 1) %> 
      <%= submit_tag t('button.add_to_cart'), :name => nil %> 
     <% end %> 
    </td> 
    </tr> 

<tr> 태그 앞에 그리고 </tr> 태그 다음에 각각 end에 해당합니다.

감사합니다.

+0

좋은 캐치 핀. – sscirrus