`
black_star
  • 浏览: 33154 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

ruby on rails(8) -- session(3)

阅读更多
  一张终于又要过去了,这是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
分享到:
评论

相关推荐

    todos-rails:适用于 Ruby on Rails 的 Todolist 应用程序

    适用于 Ruby on Rails 的 Todolist 应用程序 现场演示 要求 吉特 Ruby 导轨 部署 克隆这个存储库: git clone https://github.com/mdluo/todos.git 然后进入目录: cd todos 安装包: bundle install 然后运行...

    node-cookie-derail:解码并可选择验证未加密的 Ruby on Rails cookie 的签名

    饼干出轨 解码并可选择验证未加密的 Ruby on Rails cookie 的签名。 对此的替代实现要求您将 Rails 应用程序端的默认序列化格式更改为类似 JSON 的格式 - 这不是,而是使用用 javascript 编写的基本(哈希/数组/字符...

    headshot:Ruby on Rails 的简单网络摄像头集成

    爆头Headshot 是一个 gem,它为 Ruby on Rails 应用程序提供了一种快速简便的方法,可以通过网络摄像头捕捉用户的照片,而无需接触 ActionScript 或 JavaScript 代码。 它通过在页面视图中嵌入 Flash 组件来访问用户...

    cake php框架 v1.2(仿rails)

    最开始从Ruby On Rails框架里得到灵感。程序员可使用它来快速创建的Web应用程序。我们的首要目的是使你以一种预置的快速且不失灵活性的方式开展工作。 为什么是CakePHP? CakePHP有多个特点,这些特点让CakePHP成为...

    ConferenceTrackManagement.zip

    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. ...

    authie:通过数据库会话存储提高Ruby on Rails应用程序中的用户会话安全性

    这是一个Rails库,为应用程序提供数据库支持的用户会话。 这样可以确保可以从服务器使用户会话无效,并且可以轻松跟踪用户活动。 在会话中简单地设置用户ID的“传统”方式是不安全且不明智的。 如果仅执行以下示例...

    cakePHP 中文手册

    最开始从Ruby On Rails框架里得到灵感。程序员可使用它来快速创建的Web应用程序。我们的首要目的是使你以一种预置的快速且不失灵活性的方式开展工作。 为什么是CakePHP? CakePHP有多个特点,这些特点让CakePHP成为...

    plug_rails_cookie_session_store:与Rails兼容的插件会话存储

    plug_rails_cookie_session_store:与Rails兼容的插件会话存储

    redis-store:命名空间的Rack :: Session,Rack :: Cache,I18n和缓存Redis存储(用于Ruby Web框架)

    Redis Store为现代Ruby框架提供了全套存储( Cache , I18n , Session , HTTP Cache ),例如: Ruby on Rails , Sinatra , Rack , Rack :: Cache和I18n 。 它支持对象编组,超时,单个或多个节点以及名称空间...

    tempus-time-tracker:Tempus是一个时间跟踪应用程序,它允许用户在提供的类别中输入任务,以跟踪她在每个任务中花费的时间。 前端由ReactJS和Redux完成,后端由Ruby on Rails构建。 通过JWT对API进行身份验证,以确保发出请求的用户是有效用户

    Tempus时间追踪器 该项目是一个时间跟踪器,您可以在其中跟踪七个类别中的一个或总计所花费的时间。 使用的应用程序的所有信息和验证,并使用REDUX存储在应用程序中。 这是Microverse技术课程的最后一个顶峰项目。...

    CakePHP php框架 v5.0.7

    CakePHP是一个用PHP编写的开源Web应用框架,不过其模型是用Ruby on Rails设计的。作为PHP世界的Rails,CakePHP采纳了RoR的许多优秀特性,成熟度较高。在cakephp.org站点的Sites in the wild页面可以看到当前使用...

    PHP开发框架 Laravel 手册4.2-v1.0.1版压缩文件

    为了这个目的,我们博取众框架之长处集中到Laravel中,这些框架甚至是基于Ruby on Rails、ASP.NET MVC、和Sinatra等开发语言或工具的。Laravel是易于理解并且强大的,它提供了强大的工具用以开发大型、健壮的应用。...

    CakePHP php框架 v3.8.5

    CakePHP是一个用PHP编写的开源Web应用框架,不过其模型是用Ruby on Rails设计的。作为PHP世界的Rails,CakePHP采纳了RoR的许多优秀特性,成熟度较高。在cakephp.org站点的Sites in the wild页面可以看到当前使用...

    CakePHP php框架 v3.7.8.zip

    CakePHP是一个用PHP编写的开源Web应用框架,不过其模型是用Ruby on Rails设计的。作为PHP世界的Rails,CakePHP采纳了RoR的许多优秀特性,成熟度较高。在cakephp.org站点的Sites in the wild页面可以看到当前使用...

    CakePHP php框架 v3.7.0 beta1.zip

    CakePHP是一个用PHP编写的开源Web应用框架,不过其模型是用Ruby on Rails设计的。作为PHP世界的Rails,CakePHP采纳了RoR的许多优秀特性,成熟度较高。在cakephp.org站点的Sites in the wild页面可以看到当前使用...

    基于java+dom的项目源码

    Ruby on Rails混淆业务层),经过多年发展和众多用户的使用及其完善,JF已经发展成为一套国人自主的、面向对象的、基于构件(基于组件)的、成熟的优秀轻量开发框架。 JF与国内其他快速开发工具相比:JF是严格坚持...

    Cookitor-crx插件

    Chrome扩展程序可解码Ruby on Rails会话cookie。 通过此扩展,您可以轻松地解码存储在cookie中的Rails会话的内容。 Rails的会话cookie存储将会话保存在序列化的base64编码的cookie中。 它还支持加密的会话cookie...

    JdonFramework开源框架 v6.6

    Jdon Framework(简称JF)是一套适合开发中小型J2EE/...Ruby on Rails忽视了业务层服务), JF与国内其他快速开发工具相比:JF是严格坚持分层架构(表现层、业务层和持久层)下的快速开发。(注:象Deplhi/VB那样减少层

Global site tag (gtag.js) - Google Analytics