Rails 4th Edition (Rails 3.2+) を使用してアジャイル Web 開発を行っていますが、button_to メソッドに多少混乱しています。この本と私が行った他のすべてのGoogle検索では、button_toがPOSTリクエストを使用していると述べています。しかし、ページを調べると、button_to は GET メソッドを使用しているようです。
さて、私はこれが間違っている可能性がありますが、私はPHPのバックグラウンドから来ており、POSTメソッドは常に、データがURLなしでサーバーに渡され、配列サーバー側からアクセスされることを意味していました:
$_POST['form_item']
さらに、GET 要求は、URL を介してデータを渡すことを意味しました。
someurl.com/somepage?DATA=data_value
この button_to コードを使用する:
<%= button_to 'Add to Cart', line_items_path(product_id: product_id) %>
これはフォーム出力になります。
<form action="/line_items?product_id=4" class="button_to" method="post">
<div>
<input type="submit" value="Add to Cart" />
<input name="authenticity_token" type="hidden" value="vGT1scGqasbQAMxYwofXHCM62MfSyM/pNty69Ep5t38=" />
</div>
</form>
このフォームのアクションは、URL (?product_id=4) を介してデータを渡しているようです。「method='post'」とはっきり見えますが、これはGETを使っているのではないでしょうか?