根据《web开发敏捷之道》第二版学习ror,第八章106页出现如上错误。
解决后代码:
def add_to_cart
begin
product = Product.find(params[:id])
rescue ActiveRecord::RecordNotFound
logger.error( "Attempt to access invalid product #{params[:id]}" )
flash[:notice] = "Invalid product"
redirect_to :action => :index
else
@cart = find_cart
@cart.add_product(product)
end
end
注意:1. product = Product.find(params[:id]) 前面没有@,书上有@是错误的。
2. rescue ActiveRecord::RecordNotFound 注意大小写。
解决后代码:
def add_to_cart
begin
product = Product.find(params[:id])
rescue ActiveRecord::RecordNotFound
logger.error( "Attempt to access invalid product #{params[:id]}" )
flash[:notice] = "Invalid product"
redirect_to :action => :index
else
@cart = find_cart
@cart.add_product(product)
end
end
注意:1. product = Product.find(params[:id]) 前面没有@,书上有@是错误的。
2. rescue ActiveRecord::RecordNotFound 注意大小写。