Я работал с интеграцией PayPal с rails3.I следил за гибким развитием веб-разработки railscast 4-го издания. но моя неудача я не могу заставить ее работать.undefind метод цена в рельсах приложение с интеграцией с PayPal
В моих повозках файла/show.html.haml я следующий
%table
%tr
%th Product
%th Qty
%th Unit Price
%th Full Price
- for cart in @cart.line_items
%tr
%td= cart.product.title
%td= cart.quantity
%td= cart.price
%td= cart.full_price
= link_to "Continue Shopping", products_url
= link_to "Checkout", @cart.paypal_url(products_url)
затем в моей приложении/модели модели/cart.rb У меня есть PAYPAL методы
has_many :line_items
def paypal_url(return_url)
values = {
:business => '[email protected]',
:cmd => '_cart',
:upload => 1,
:return => return_url,
:invoice => id
}
line_items.each_with_index do |item, index|
values.merge!({
"amount_#{index+1}" => item.price,
"item_name_#{index+1}" => item.product.title,
"item_number_#{index+1}" => item.id
#"quantity_#{index+1}" => item.quantity
})
end
"https://www.sandbox.paypal.com/cgi-bin/webscr?" + values.to_query
конец
, но я иду к странице корзины я получил следующее сообщение об ошибке
undefined method `price' for line_items
я думаю, эта ошибка из-за блок в PAYPAL методы в корзине модели
line_items.each_with_index do |item, index|
values.merge!({
"amount_#{index+1}" => item.price,
"item_name_#{index+1}" => item.post.title,
"item_number_#{index+1}" => item.id
#"quantity_#{index+1}" => item.quantity
})
Infact я не знаю, как это line_items стреляет здесь, откуда эти значения откуда.
Пожалуйста, помогите мне разобраться и исправить эту ошибку. Я новичок в рельсах.
Спасибо @ accelburst.do у вас есть представление о line_items здесь, в блоке.i не может underdtand, как его стрельба. – monsur
в любое время :), если вы считаете, что ответ был прав, было бы неплохо, если бы вы его отметили;). – accelBurst
хорошо, что он используется для создания URL-адреса paypal, api paypal использует метод get, поэтому значения на URL-адресе, который вы используете для доступа к платежу, - это то, что показывает счет-фактура платежа, и использует индекс для распознавания каждого продукта, обычно вы не нужно много возиться с ним, вы также можете проверить документацию paypal, чтобы узнать, что означает каждый параметр URL-адреса :). – accelBurst