Revision: 2472
Updated Code
at February 26, 2007 18:22 by wackimonki
Updated Code
def add_to_cart
begin
product = Product.find(params[:id])
# if can not find product id, catch exception, raise error to be
# displayed on 'index' page
rescue ActiveRecord::RecordNotFound
logger.error("Atempt to access invalid product #{params[:id]}")
flash[:notice] = "invalid product"
redirect_to :action => :index
else
# if can find product id, continue to add product to cart
@cart = find_cart
@cart.add_product(product)
end
end
# RHTML code
<% if flash[:notice] -%>
<div id="notice"><%= flash[:notice] %></div>
<% end -%>
Revision: 2471
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at February 26, 2007 17:58 by wackimonki
Initial Code
def add_to_cart
begin
product = Product.find(params[:id])
# if can not find product id, catch exception, raise error to be
# displayed on 'index' page
rescue ActiveRecord::RecordNotFound
logger.error("Atempt to access invalid product #{params[:id]}")
flash[:notice] = "invalid product"
redirect_to :action => :index
else
# if can find product id, continue to add product to cart
@cart = find_cart
@cart.add_product(product)
end
end
Initial URL
Initial Description
Catches an exception error, uses a technique called flash to display error on another page. The Ruby on Rails code needs to be in a controller. The rhtml code needs to be in the index layout.
Initial Title
Catching Error to be Displayed on Redirected Page
Initial Tags
rails
Initial Language
Ruby