一张终于又要过去了,这是8的最后一个内容了。终于熬到第九章了要。看书,nnd慢啊。robbin说他们三个人一个月就搞定了整个je,佩服佩服。我一个月这书都没看完,继续努力,继续努力。
这节主要是错误处理,当遇到错误的时候一般做三个事情,记录错误,给出提示信息,然后重新跳到某个指定页面。
rails用rescue表示遇到的某个错误。内置的logger记录错误,每个controller,人人有份在log/development.log下课查看。用flash在网页显示需要显示的错误.redirt_to :action =>
xx重定向。在store_controller下修改如下代码
def add_to_cart
#@cart = find_cart
#product = Product.find(params[:id])
#@cart.add_product(product)
begin
product = Product.find(params[:id])
rescue ActiveRecord::RecordNotFound
logger.error("Attempt to access invalid product #{params[:id]}")
redirect_to_index("Invalid Product")
else
@cart = find_cart
@cart.add_product(product)
end
def empty_cart #清空session
session[:cart] = nil
redirect_to_index ("Your cart currently is empty")
end
def redirect_to_index(msg) #重定向方法
flash[:notice] = msg
redirect_to :action => :index
end
修改layout/store_layout.html.erb如下
<% if flash[:notice] -%>
<div id="notice"><%= flash[:notice] %></div>
<% end -%>
最后在model/cart.rb里面加入统计总额的方法
def total_price
@items.sum {|item| item.price}
end
大功告成
- 大小: 16.2 KB
- 大小: 26.5 KB
- 大小: 17 KB
分享到:
相关推荐
适用于 Ruby on Rails 的 Todolist 应用程序 现场演示 要求 吉特 Ruby 导轨 部署 克隆这个存储库: git clone https://github.com/mdluo/todos.git 然后进入目录: cd todos 安装包: bundle install 然后运行...
饼干出轨 解码并可选择验证未加密的 Ruby on Rails cookie 的签名。 对此的替代实现要求您将 Rails 应用程序端的默认序列化格式更改为类似 JSON 的格式 - 这不是,而是使用用 javascript 编写的基本(哈希/数组/字符...
爆头Headshot 是一个 gem,它为 Ruby on Rails 应用程序提供了一种快速简便的方法,可以通过网络摄像头捕捉用户的照片,而无需接触 ActionScript 或 JavaScript 代码。 它通过在页面视图中嵌入 Flash 组件来访问用户...
最开始从Ruby On Rails框架里得到灵感。程序员可使用它来快速创建的Web应用程序。我们的首要目的是使你以一种预置的快速且不失灵活性的方式开展工作。 为什么是CakePHP? CakePHP有多个特点,这些特点让CakePHP成为...
01:00PM Ruby on Rails: Why We Should Move On 60min 02:00PM Common Ruby Errors 45min 02:45PM Pair Programming vs Noise 45min 03:30PM Programming in the Boondocks of Seattle 30min 04:00PM Ruby vs. ...
这是一个Rails库,为应用程序提供数据库支持的用户会话。 这样可以确保可以从服务器使用户会话无效,并且可以轻松跟踪用户活动。 在会话中简单地设置用户ID的“传统”方式是不安全且不明智的。 如果仅执行以下示例...
最开始从Ruby On Rails框架里得到灵感。程序员可使用它来快速创建的Web应用程序。我们的首要目的是使你以一种预置的快速且不失灵活性的方式开展工作。 为什么是CakePHP? CakePHP有多个特点,这些特点让CakePHP成为...
plug_rails_cookie_session_store:与Rails兼容的插件会话存储
Redis Store为现代Ruby框架提供了全套存储( Cache , I18n , Session , HTTP Cache ),例如: Ruby on Rails , Sinatra , Rack , Rack :: Cache和I18n 。 它支持对象编组,超时,单个或多个节点以及名称空间...
Tempus时间追踪器 该项目是一个时间跟踪器,您可以在其中跟踪七个类别中的一个或总计所花费的时间。 使用的应用程序的所有信息和验证,并使用REDUX存储在应用程序中。 这是Microverse技术课程的最后一个顶峰项目。...
CakePHP是一个用PHP编写的开源Web应用框架,不过其模型是用Ruby on Rails设计的。作为PHP世界的Rails,CakePHP采纳了RoR的许多优秀特性,成熟度较高。在cakephp.org站点的Sites in the wild页面可以看到当前使用...
为了这个目的,我们博取众框架之长处集中到Laravel中,这些框架甚至是基于Ruby on Rails、ASP.NET MVC、和Sinatra等开发语言或工具的。Laravel是易于理解并且强大的,它提供了强大的工具用以开发大型、健壮的应用。...
CakePHP是一个用PHP编写的开源Web应用框架,不过其模型是用Ruby on Rails设计的。作为PHP世界的Rails,CakePHP采纳了RoR的许多优秀特性,成熟度较高。在cakephp.org站点的Sites in the wild页面可以看到当前使用...
CakePHP是一个用PHP编写的开源Web应用框架,不过其模型是用Ruby on Rails设计的。作为PHP世界的Rails,CakePHP采纳了RoR的许多优秀特性,成熟度较高。在cakephp.org站点的Sites in the wild页面可以看到当前使用...
CakePHP是一个用PHP编写的开源Web应用框架,不过其模型是用Ruby on Rails设计的。作为PHP世界的Rails,CakePHP采纳了RoR的许多优秀特性,成熟度较高。在cakephp.org站点的Sites in the wild页面可以看到当前使用...
Ruby on Rails混淆业务层),经过多年发展和众多用户的使用及其完善,JF已经发展成为一套国人自主的、面向对象的、基于构件(基于组件)的、成熟的优秀轻量开发框架。 JF与国内其他快速开发工具相比:JF是严格坚持...
Chrome扩展程序可解码Ruby on Rails会话cookie。 通过此扩展,您可以轻松地解码存储在cookie中的Rails会话的内容。 Rails的会话cookie存储将会话保存在序列化的base64编码的cookie中。 它还支持加密的会话cookie...
Jdon Framework(简称JF)是一套适合开发中小型J2EE/...Ruby on Rails忽视了业务层服务), JF与国内其他快速开发工具相比:JF是严格坚持分层架构(表现层、业务层和持久层)下的快速开发。(注:象Deplhi/VB那样减少层