我正在开发我的应用程序中的支付系统。因此我参考了轨道广播ep-141 我按照每一集的所有步骤,但我得到了这个错误
undefined method `paypal_url'
我试过但没有找到答案。
这里我有BookingDetail maodel如下
class BookingDetail < ActiveRecord::Base
belongs_to :room
attr_accessible :member_type_id, :room_type_id, :start_date, :end_date, :room_rate_id, :room_no, :customer_id, :room_id
def total_price
room_type.to_a.sum(&:room_rate)
end
def paypal_url(return_url)
values = {
:business => '',
:cmd => '_cart',
:upload => 1,
:return => return_url,
:invoice => id
}
room_type.each_with_index do |item, index|
values.merge!({
"room_rate_#{index+1}" => item.room_rate,
"room_type_#{index+1}" => item.room_type,
"room_id_#{index+1}" => item.room_rate.room_id,
"quantity_#{index+1}" => item.quantity
})
end
"https://www.sandbox.paypal.com/cgi-bin/webscr?" + values.to_query
end
端
这一行给了我错误
<%=link_to "Checkout",@room.paypal_url(rooms_url)%>
我必须做什么?
答案 0 :(得分:0)
paypal_url
不是Room
的方法,因为我看到BookingDetail
的方法,因此您需要执行以下操作
@room.booking_detail.paypal_url(rooms_url)
而不是
@room.paypal_url(rooms_url)
假设您在Room
模型中有以下内容
has_one:booking_detail
再一次,答案取决于Room
模型中的内容