[英]PayPal Integration with Rails
我按照“ Rails Casts ep 141”的要求將基本的貝寶集成到我的項目中,但是失敗了,我找不到問題。
這是我的購物車模型(使用gem'acts_as_shopping_cart)
class ShoppingCart < ActiveRecord::Base
acts_as_shopping_cart
def self.paypal_url
values ={
:business => 'admin@ing.com',
:cmd => '_cart',
:upload => 1,
:invoice => id
}
@shopping_cart.shopping_cart_items.each_with_index do |item, index|
values.merge!({
"amount_#{index+1}" => item.precio,
"item_name_#{index+1}" => item.nombre,
})
end
"https://www.sandbox.paypal.com/cgi-bin/webscr?"+values.map{|k,v| "#{k}=#{v}"}.join("&")
end
end
我在這里調用方法paypal_url的地方
<title>Tu carrito</title>
<body>
<div class="container">
<div class="row">
<div class="col s12">
<ul class="collection with-header">
<li class="collection-header"><h4>Tu lista de productos</h4></li>
<% @shopping_cart.shopping_cart_items.each do |sc| %>
<li class="collection-item"><div><%= link_to Article.find(sc.item_id).nombre, article_path(Article.find(sc.item_id)) %>
<%= link_to shopping_carts_path(:product_id => sc.item_id), method: :delete, data:{ confirm: "Quitar este elemento del carrito?" }, class: "right" do%>
<i class="material-icons">delete</i>
<%end%></li>
<%end%>
</ul>
<%= link_to "Checkout", @shopping_cart.paypal_url() %>
</div>
</div>
</div>
</body>
當我嘗試輸入購物車的“顯示視圖”時,會顯示此消息
undefined method `paypal_url' for #<ShoppingCart:0x007fd00d3e9358>
我該如何解決?
您需要將paypal_url定義為實例方法,而不是類方法。 像這樣:
def paypal_url
values ={
:business => 'admin@ing.com',
:cmd => '_cart',
:upload => 1,
:invoice => id
}
shopping_cart_items.each_with_index do |item, index|
values.merge!({
"amount_#{index+1}" => item.precio,
"item_name_#{index+1}" => item.nombre,
})
end
"https://www.sandbox.paypal.com/cgi-bin/webscr?"+values.map{|k,v| "#{k}=#{v}"}.join("&")
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.