效率不高啊,
,看来还是要提高效率。要专注,要心无房屋。
这节主要是用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
分享到:
相关推荐
全书共分17章,主要内容包括:搭建ruby on rails开发平台、ruby语言的基础知识(像控制语句、面向对象、数组和块等)、文件处理、数据库持久化、rails控制器和路由、视图模板以及发送邮件和ajax等。 《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。它用于创建动态网页,其中网页的小部分在不重新加载网页的...
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 ...
它在服务器端使用 Ruby on Rails 和 SQLite。 文件 app/views/nodes/index.html.erb 包含有趣的 Javascript 位。 当节点扩展时,它使用 jQuery.ajax 函数下载远程节点。 当节点在分支之间移动 (D&D) 时,它还使用 ...
这几天一直在学习使用RoR(Ruby on Rails),想建立一个功能全面一点的LBS(Location Based Service)网站。但是对于我这个RoR的初学者(仅有几天时间)来说,毕竟太复杂了。因此本文试图简化原来的设计思路,抛弃一切...
主要介绍了在Ruby on Rails中使用AJAX的教程,文章来自于IBM官方网站技术文档,需要的朋友可以参考下
护林员探索Ruby on Rails API的路由和路径| Rails Ranger是之上的薄薄一层,它为您提供了一个自以为是的界面,以查询使用Ruby on Rails构建的API。主要特点遵循Ruby on Rails路由约定的URL构建在前端和API之间交换...
Agile Web Development With Ruby On Rails
《Ruby.on.Rails.Web开发之旅》,作者:【德】Patrick Lenz,翻译:王德民、刘昕、裴立秋,出版社:人民邮电出版社,ISBN:9787115188526,PDF 格式,大小 144 Mb,被压缩为 3 部分,本资源是第三部分;第一部分下载...
《Ruby.on.Rails.Web开发之旅》,作者:【德】Patrick Lenz,翻译:王德民、刘昕、裴立秋,出版社:人民邮电出版社,ISBN:9787115188526,PDF 格式,大小 144 Mb,被压缩为 3 部分,本资源是第二部分;第一部分下载...
《Ruby.on.Rails.Web开发之旅》,作者:【德】Patrick Lenz,翻译:王德民、刘昕、裴立秋,出版社:人民邮电出版社,ISBN:9787115188526,PDF 格式,大小 144 Mb,被压缩为 3 部分,本资源是第一部分;第二部分下载...
本书从Ruby和Rails的历史讲起,以在Rails框架上克隆故事共享网站digg.com为例,详细讲述了Ruby和Rails的安装过程、框架组成部分、与AJAX和Web 2.0技术结合、安全措施、高级话题和扩展功能等。本书带领读者运用最新...
Ruby.on.Rails.Enterprise.Application.Development
#Feevale 的 Ruby on Rails 课程##Ruby历史安装语言(面向对象、块、模块和语法) 宝石交互式控制台 (irb) 元编程##Rails - 概述目前网络开发配置约定MVC ##Rails - 模型(ActiveRecord + ActiveModel) 迁移验证...
Ruby on Rails是一个开放源代码框架,可让您快速轻松地构建Web应用程序。 这个框架的设计考虑了开发人员的生产力和幸福感。 使用Rails,您可以通过强大的约定,合理的默认值和大量的库来轻松创建Web应用程序。 如果...
使用Rails和React进行身份验证本教程显示了一个使用Ruby on Rails,React,React Router和JWT(JSON Web令牌)进行身份验证的示例。 它是使用以下命令创建的,该命令在Ruby on Rails中配置React: $ rails new ...