效率不高啊,
,看来还是要提高效率。要专注,要心无房屋。
这节主要是用helper隐藏作侧边栏的购物车,如果没有东西时,隐藏购物车,有东西时渐进显示,突然显示出来,会吓坏小朋友的,所以我们要慢慢的显示出来。
判断购物车首先不为空 <%unless @cart.items.emtpy? ... end%>
给购物车加上渐进效果,同样是用Ajax。
在view/store/add_to_cart.js.rjs 加一下内容
page[:cart].visual_effect :blind_down if @cart.total_items == 1
toal_item定义在model/cart.rb下
def total_items
@items.sum{|item|item.quantity}
end
接下来,当购物车为空的时候,不显示,通常是加上一个style display:none
如一般写法。
<div id="cart"<%if @cart.items.empty? %>
style="display:none"
<% end %>
>
</div>
太难看了,而且也容易出错,比如右边尖括号,。
rails 提供了helper 处理 view。
helper可以抽象出view里面的一些过程(直译),那partial处理逻辑/数据,是这样分工么?什么时候用哪个
一个controller默认生成一个helper.
编辑view/layouts/store.html.erb
<div id="cart">
<%hidden_div_if(@cart.items.empty?,:id => "cart") do%>
<%= render (:partial => "cart",:object => @cart)%>
<% end %> #为什么用 do end 多行rails
</div>
在StoreHelper定义hidden_div_if
module StoreHelper
def hidden_div_if(condition,attributes = {},&block)
if condition
attributes['style'] = "disaply:none"
end
content_tag("div",attributes,&block)
end
end
content_tag(name,content_or_option,option),&block把hidden_div_if传递给content_tag
最后改一点,判断是否使用js.rails用xhr缩写代表XMLHttpRequest。用 if request.xhr?判断是否使用js
if request.xhr?
respond_to{|format| format.js}
else
redirect_to_index
end
分享到:
相关推荐
- **AJAX**:学习如何在Ruby on Rails应用中集成异步JavaScript和XML技术。 - **部署、安全与性能**:讲解如何部署Ruby on Rails应用、实施安全措施以及优化性能。 #### 结语 通过这五天的课程,读者不仅能够系统地...
《Ruby on Rails 3 Tutorial》是一本专门为初学者设计的指南,旨在帮助读者快速掌握Ruby on Rails这一强大的Web开发框架。Ruby on Rails(简称Rails)是基于Ruby语言的一个开源框架,它采用MVC(Model-View-...
Ruby on Rails,简称Rails,是一款基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,旨在提升开发效率和代码的可读性。Rails以其“约定优于配置”的设计理念,以及“DRY(Don't Repeat ...
Ruby on Rails 是一个流行的 web 开发框架,以其高效和简洁的代码著称。在 Ruby on Rails 中,页面缓存是一种优化性能的技术,尤其适用于那些内容相对静态或者对用户个性化要求不高的网页。页面缓存的工作原理是将...
Ruby on Rails is the revolutionary online programming tool that makes creating functional e-commerce web sites faster and easier than ever. With the intuitive, straightforward nature of Ruby and the ...
Ajax-rails-ajax-demo.zip,ruby on rails的ajax演示项目,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新加载网页的...
Ruby on Rails是一种流行的开源网站开发框架,它利用Ruby语言,遵循MVC(模型-视图-控制器)设计原则,用于快速开发数据库驱动的动态网站。本书《Ruby on Rails 实践》是一本指南,旨在向读者介绍Ruby on Rails框架...
Ruby on Rails(简称RoR或Rails)是一种开源的网络应用框架,用Ruby语言编写。它被设计用来轻松地实现MVC(模型-视图-控制器)设计模式,从而使开发人员能够快速和有条理地创建数据驱动的应用程序。接下来,我将详细...
- **Ajax**(Asynchronous JavaScript and XML)与 Ruby on Rails 的结合使得 Web 应用程序具备了更强的交互性和响应速度。通过 Ajax 技术,Rails 应用可以实现实时更新页面内容而无需重新加载整个页面,提升了用户...
### Ruby on Rails企业应用开发详解 #### 一、引言 《Ruby on Rails Enterprise Application Development》这本书由Elliot Smith和Rob Nichols共同编写,由Packt Publishing出版。该书旨在为读者提供一个完整的...
### 敏捷Web开发与Ruby on Rails:深入解析与实践指南 #### 标题解析:“Agile Web Development With Ruby On Rails” 此标题明确指出本书的主题是利用Ruby on Rails框架进行敏捷Web开发。Ruby on Rails(简称...
**标题解析:**“ruby on rails 教程”直指文档内容旨在教授Ruby on Rails框架的基础知识和应用技巧,Ruby on Rails(RoR)是一种用于Web开发的开源框架,基于Ruby语言,它遵循MVC(模型-视图-控制器)架构模式,...
Ruby on Rails,简称Rails,是基于Ruby编程语言的一个开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在提高开发效率和代码的可读性。本学习案例将带你深入理解Rails的核心概念和技术,帮助你成为...
**Ruby on Rails 101 知识点详解** Ruby on Rails(简称Rails)是一种基于Ruby编程语言的开源Web开发框架,它遵循“Don't Repeat Yourself”(DRY)原则和“Convention over Configuration”(CoC)理念,使得...
标题 "Rails3-使用ajax处理并发" 涉及的是在Ruby on Rails 3框架中如何利用Ajax技术处理并发请求。Rails是一个流行的Web应用程序开发框架,它基于Ruby语言,而Ajax(Asynchronous JavaScript and XML)则是一种允许...
《Ruby on Rails专业指南》是Wrox出版社发布的一本关于Ruby on Rails开发的权威书籍,其源代码在wrox官方网站可以获取。这本书深入浅出地介绍了如何使用Ruby on Rails这一强大的Web开发框架来构建高效、可扩展的Web...
Ruby on Rails 3 是一个基于Ruby编程语言的开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,极大地简化了Web开发过程。这个版本是在Ruby 1.9.2环境下发布的,带来了许多改进和新特性,旨在提高...
从给定的文件信息来看,我们正在探讨的是一本关于Ruby on Rails的书籍,书名为《Simply Rails2》,作者是Patrick Lenz。本书旨在为初学者提供深入理解Ruby on Rails框架的指南,从基础概念到高级主题均有涵盖,是...
Learn to build dynamic, interactive web applications using the two most important approaches to web development today: Ajax and the phenomenally efficient Ruby on Rails platform. This book teaches ...