Railsを使ったアジャイルWeb開発でRubyonRailsに飛び込んでいます。
私はあなたが使う部分に行きました:
<%= link_to (image_tag(product.image_url), {:action => :add_to_cart, :id => product}, :method => :post) %>
Railsは、RESTfulになるために、各アンカータグでこのインラインJavascriptを開始します
onclick="var f = document.createElement('form'); f.style.display = 'none'; this.parentNode.appendChild(f); f.method = 'POST'; f.action = this.href;var s = document.createElement('input'); s.setAttribute('type', 'hidden'); s.setAttribute('name', 'authenticity_token'); s.setAttribute('value', 'gegcVQGk3yN/q+SjZehByuyAHiqh5BSZWa4QHZb8DOU='); f.appendChild(s);f.submit();return false;"
今、私は決して使用しない傾向があり:method => :post
、代わりに次のようなプロトタイプJSを記述します。
$$('div.entry a').observe('click', postAnchor);
function postAnchor(event) {
// create a form around the anchor
// submit the form with the right product id
}
私のケーキを持ってそれを食べる方法はありますか?リンクで使用:method => :post
しますが、Railsは上記のようなJSの小さなブロックをキックアウトしますか?
または、を使用する場合:method => :post
は、ゴツゴツしたグックを無視する必要がありますか?