私はRyan Bates' railcast 146に従っています。本当に役に立ちます。しかし、私はプロセスからカートのオブジェクトを削除しようとし、ちょうど注文を個別に処理します。私が抱えている問題は、購入をセットアップするために1回、実際にそれを実行するために1回、2回使用する金額を設定する方法です。これは私がやってに頼ってきたものですが、それは私はおそらく悪い習慣だと思いreturn_urlの金額、公開します、私は量で隠しフィールドを追加するビューで次にPaypal Express ActiveMerchantインテグレーション
class OrdersController < ApplicationController
def express
response = EXPRESS_GATEWAY.setup_purchase(params[:amount],
:ip => request.remote_ip,
:return_url => new_order_url(:amount=>params[:amount]),
:cancel_return_url => root_url
)
redirect_to EXPRESS_GATEWAY.redirect_url_for(response.token)
end
def new
@order = Order.new(:express_token => params[:token], :price_in_cents=>params[:amount])
end
をするようにする場合オーダーが作成されます(オーダー・モデルにprice_in_centsフィールドを追加しました)。それはうまく動作しますが、量をparamとして公開することは少し難しいかもしれません。私はのparamsの量の周りに通過することなくこれを行うことができますどのように、要するに
def purchase
response = process_purchase
transactions.create!(:action => "purchase", :amount => price_in_cents, :response => response)
cart.update_attribute(:purchased_at, Time.now) if response.success?
response.success?
end
:最後に、購入コードは次のようになりますか?
ありがとうございます!