`
black_star
  • 浏览: 33102 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
第三版英文
   订单处理,首先要有一个订单的详细列表(包括数量,价格啥的)和一个关于个人的一些信息的一个表。因此我们创建两个模型,line_item(列表项),order(列表),然后编辑如下 /db/migrate xxx_create_order xxx_line_item class CreateOrders < ActiveRecord::Migration def self.up create_table :orders do |t| t.string :name t.text :address t.string :email t ...
  本打算调试下代码,结果安装软件装了半天。主要是我的环境是xp。用的是Installrails。装软件多有不便啊。    参考猪哥的方法http://hlee.iteye.com/blog/361405,本以为很轻松,还是mac好,可以自动下载关联的文件,不需要这么辛苦的下载软件了,费了我N多时间。上午本来可以搞定了,结果下午才弄好。    你需要装的软件。    1.ruby-debug    2.ruby-debug-base 注意是windows版本的,就是有ms的那个    3.ruby-debug-ide 注意版本,不要弄的太高,我开始弄的太高,装不上,后来弄了个低版本的    4, ...
    效率不高啊, ,看来还是要提高效率。要专注,要心无房屋。     这节主要是用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 ...
   高亮价格变化。首先保存我们当前的购物车。在models/cart.rb编辑add_product. def add_product(product) current_item = @items.find{|item| item.product == product} if current_item current_item.increment_quantity else urrent_item = CartItem.new(product) @items << current_item end current_ite ...
   火热的Ajax啊,全世界的程序员都在讨论它(c,c++请飘过),终于我要开始学习啦。     首先是代码重用,rails为了使逻辑和表现分开,采取了一些列的方法,其中之一是,不要把逻辑写在表现页面上。因为,我们要分离拉。局部的代码,就采用partical。如<%= render(:partial =>"cart_item", :collection => cart.items)%>,:partial 的参数所对应的页面就是在参数名前加_.因此对应的页面为_cart_item.html.erb.    修改add_to_cart.html.erb ...
  一张终于又要过去了,这是8的最后一个内容了。终于熬到第九章了要。看书,nnd慢啊。robbin说他们三个人一个月就搞定了整个je,佩服佩服。我一个月这书都没看完,继续努力,继续努力。    这节主要是错误处理,当遇到错误的时候一般做三个事情,记录错误,给出提示信息,然后重新跳到某个指定页面。    rails用rescue表示遇到的某个错误。内置的logger记录错误,每个controller,人人有份在log/development.log下课查看。用flash在网页显示需要显示的错误.redirt_to :action =>xx重定向。在store_controller下修改如下代 ...
   统计数目的数量,重新创建一个类。CartItem。    class CartItem attr_reader :product,:quantit def initialize(product) @product = product @quantity = 1 end def increment_quantity @quantity += 1 end def title @product.title end def price @product.price * @quantity end end ...
   大难不死,必有后福。最近经历了一点小车祸,还好,只是腿被撞了下。信春哥,得永生。     为了将货物保留到购物车,我们必须要用cookie or session。cookie将信息保留到浏览器,session服务器。rails里面的先将信息用cookie 收集,然后服务器根据cookie name找到对应的session id 。然后处理。session的存储可以由文件,数据库,其他。部署又是一节内容。这里用数据库。rails会保留一张session的表    首先,创建session表 rake db:session:create 然后迁移 rake db:migrate 接下来修改ap ...
1.除了类和模型用首字符大写以外,其余的都用小写+下划线模式.class RobyOnRails 2.变量:小+下滑 product_price. 3.数据库。表名,小写+下划+s table price_of_products 4.文件名,小写+下划。 controller也是复数啊,书上说的不对啊 如果命名规范,rails会自动查找 如果有一个类叫做LineLtem,会存在一个表叫line_items,会有一个contoller叫 line_item.rb 这样即使没有用require引用,rails也会自动匹配
   创建一个页面模版,你可以很轻松的往里面填内容,而如果改动样式时,只要改动一个文件即可。rails 会在app/view/layout下面根据controller默认选中名字一样的layout。而我们的controller为store,因此rails会默认选中layout下的store.html.erb文件。因此,最简单的就是手动创建store.html.erb。这样,就能默认载入了。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w ...
首先创建一个控制器  ruby script/generate controller store index 会产生一个store_controller控制器及index方法。同时在view/store/index.html.erb index action是rails默认的action      我们的目的是创建一个目录列表。首先考虑在哪里创建。在mvc结构中。v第一个被排除。那么就是m,c。m与数据库交互,c控制。因此c最合适。书上说这是为了产生抽象方法。 class StoreController < ApplicationController def index ...
   今天主要是完成depot第一部分的最后一部分。第一步:添加测试数据。用migration 添加    ruby script/generate migration add_test_data    然后编辑db/migrate/003_add_test_data.rb class AddTestData < ActiveRecord::Migration def self.up Product.create(:title => '123',':description' => %{<p>下沙小旅馆</p>},':image_url' ...
  建好表后,碰到乱码问题。搜了下,发现把数据库和配置编码设为utf8即可。查看yml,encoding 已经utf8了。好,把depot_development设置为utf8。首先查看编码,用phpmyadmin进入。然后命令 show variables like 'character%' 出来的latin1,好用alter database development charset set utf8;(utf-8不行)然后再查看 发现已经为utf-8,然后重启mysql。可是一查,还是回去了,郁闷,乱码问题还是没有解决。    有些解决方法是向app controller加入一段代码,可是我 ...
   depot,alige webdevelopment默认项目,我们建立了一个新的表produt,真实数据库里面的表名为products,里面有title,description,image_url字段,还有id字段,这个应该是rails自己加的吧。    同时,在app目录的view,controller,model项目下都多了相对应文件 ,还有db目录。因此,可以直接用http://localhost:3000/products访问。    ps:rake db:migrate 将未迁移的数据库操作对应到数据库        rake db:migrate version=n 退回到第几 ...
Global site tag (gtag.js) - Google Analytics