0
當我嘗試在success.html.erb中顯示order.id時,我遇到了nilLNilClass的未定義方法'id'的問題。有誰知道如何幫助我呢?非常感謝所有的幫助。無法顯示順序:未定義的方法`id'爲零:NilClass
success.html.erb
Invoice Number: <%= @order.id %><br/>
Amount Paid: S$<%= @order.price_in_cents/100 %>
order_controller.rb
def create
@user = current_user
@order = current_cart.build_order(order_params)
@order.line_items = current_cart.line_items
@order.ip_address = request.remote_ip
@order.user_id = current_user.id
@order.amount = current_cart.total_price
if @order.save
if @order.purchase
@order.line_items.each do |item|
@order_place = OrderPlace.new
@order_place.place_id = item.place.id
@order = current_order
@order_place.order_id = item.order.id
@order_place.save
end
Cart.destroy(session[:cart_id])
session[:cart_id] = nil
render :action => "success"
else
render :action => "failure"
end
else
render :action => 'new'
end
端
**更新
def current_order
if session[:order_id]
current_order = Order.find(session[:order_id])
end
end
在這個控制器的行動方式很多......但首先....什麼是@order = current_order? – TheIrishGuy
我已經更新了描述中的current_order。我想知道我是否正確地做了 – sadocean
好的,所以我們在視圖中有一個@order,基本上是零,所以它沒有正確設置?我詢問的這條線是給你的問題,代碼是好的,但邏輯不正確。該行是否意味着設置會話[:order_id]變量? – TheIrishGuy