根据《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 注意大小写。
本文修正了Rails应用程序中购物车添加商品过程的一个错误,并提供了正确的代码实现。主要修改包括去除model实例变量前的不必要符号及确保异常捕获时的语法正确性。
307

被折叠的 条评论
为什么被折叠?



