0

当我尝试在success.html.erb 中显示order.id 时,我遇到了nilLNilClass 的未定义方法'id' 的问题。有人知道如何帮助我吗?非常感谢所有的帮助。

成功.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
4

1 回答 1

0

删除 current_order 方法并删除 @order = current_order 行。

我会从那里开始。

于 2013-11-14T17:27:56.490 回答