私は、ハードコーディングされた量すなわちで成功したチェックを作ることができた:のは、私はCURRENT_USERが格納されている具体的な「価格」のための私のポートフォリオへのアクセスを購入することができるようにしたいとしましょうBraintree :: Transaction.saleをハードコードされた値なしで正常にチェックアウトするにはどうすればいいですか?
def checkout
nonce = params["payment_method_nonce"]
if current_user.braintree_id?
customer = Braintree::Customer.find(current_user.braintree_id)
else
@result = Braintree::Customer.create(
email: current_user.email,
payment_method_nonce: params[:payment_method_nonce]
)
customer = result.customer
current_user.update(braintree_id: customer.id)
end
@result = Braintree::Transaction.sale(
amount: **"10.00"**,
payment_method_nonce: nonce
)
if @result.success?
redirect_to root_path, notice: "You have successfully checked out"
else
flash[:alert] = "Something went wrong while processing your transaction"
render :new
end
end
私のレールデータベースの中に。金額をデータベースからオブジェクトの属性から引き出すことによって金額を設定する方法はありますか:「< [email protected]_item.price>」?私は複数の試行を試みましたが、運がありませんでした。私は何が間違っていますか? Railsフレームワークのドキュメントに記載されているように
「各portfolio_itemは、それが2の規模を持つ小数として格納価格だ持っている必要があり、これはアイテムを許可しますそれに付随する価格を持ち、メソッドを作る:@portfolio_item.price available。 " - なぜこれが文書化されているのですか?これを誰かが知るようになりましたか?その特定の列型を価格メソッドとして利用できるようにするのは単なるレールのことですか? – chrickso
答えが更新されました。ソースの不足について申し訳ありません。 – tebayoso