Ruby on rails开发从头来(windows)(八)-使用Session创建购物车

在前面的内容里,我们演示了怎样构建一个商品的列表,这次,我们在前面内容的基础上,构建一个简单的购物车。

1.首先我们要来创建一个保存客户购物信息的表:

数据库脚本:

drop table if exists line_items;
create table line_items (
id int not null auto_increment,
product_id int not null,
quantity int not null default 0,
unit_price decimal(10,2) not null,
constraint fk_items_product foreign key (product_id) references products(id),
primary key (id)
);

之后在PhpMyAdmin中创建表,然后使用Rails命令行创建line_item表对应的类:

depot> ruby script/generate model LineItem

(创建的详细步骤可以参考前面的几篇随笔)

2.给LineItem和Product创建主从关系:

打开\rails_apps\depot\app\models目录下的line_item.rb文件,修改文件内容为:

class LineItem < ActiveRecord::Base
belongs_to :product
end

可以看到belongs_to :product这句给LineItem和Product创建了主从关系。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索内容
, null
, 中创
, 主从
一个
ruby on rails、ruby on rails 教程、ruby rails、ruby on rails pdf、ruby on rails 5 教程,以便于您获取更多的相关知识。

时间: 2024-09-17 23:40:17

Ruby on rails开发从头来(windows)(八)-使用Session创建购物车的相关文章

Ruby on rails开发从头来(windows)(四)-第一个添删查改例子

在上一篇Ruby on rails开发从头来(windows)(三)-实现页面间的跳转中,我们创建了两个页面来进行跳转迁移,这次我们来写一个单表维护的添删查改的例子. 1.这次我们重新创建一个项目depot,按照上篇中的步骤,创建depot项目. 2.创建数据库. 你可以使用rails的命令行,通过mysql创建,先定位到depot目录,使用命令: depot> mysql -u root –p 密码为空,连接mysql后执行下面的命令: mysql> create database depo

Ruby on rails开发从头来(windows)(三)-实现页面间的跳转

在上篇随笔Ruby on rails开发从头来(windows)(二)-创建项目和第一个Hello world 中,我们介绍了如何使用InstantRails创建一个项目和编写一个简单的Helloworld页面,今天在上次的基础上,写一个简单的页面跳转. 1.将appcontrollers目录下的say_controller.rb文件的内容改成下面这样: class SayController < ApplicationController def Hello @time = Time.now

Ruby on rails开发从头来(windows)(一)

使用InstantRails快速搭建Ruby On Rails开发环境 一直对Ruby on Rails抱有很大的兴趣,想看看这个被很多人称道的东西,但是一直在做windows下的开发,对于Ruby on Rails的开发环境搭建还是很头疼,这也是一直没有开始研究Ruby on rails的原因.刚刚在javaeye看到了InstantRails,一个All In One的套件,可以帮助你快速搭建Ruby On Rails开发环境,就立即下了一个试了试,还好,比较顺,起码可以跑起来自带的例子了.

Ruby on rails开发从头来(windows)(十九)-测试开始

前面我们已经完成了一个简单的购物车,从这篇开始我们看看在rails中怎样进行测试. 在我们创建购物车程序的时候在我们的depot目录下,就已经有一个test目录了,这就是为我们进行测试准备的.到目前为止,我们看到里面的fixtrues和functional,unit目录中已经有对controller和model对应的测试文件. 我们首先测试一下products这个model.代码test\unit目录下的product_test.rb文件,修改其内容为: require File.dirname

Ruby on rails开发从头来(windows)(十八)-自动生成文档

到此,我们这个购物车的实现就完成了,下面我们可以利用ruby里的Rdoc来给我们的程序生成文档,和dotnet,java,python等一样,Rdoc可以把我们代码里类和方法声明前面的注释提取出来生成文档. 对于我们的depot程序,我们在rails的命令行里运行rake appdoc命令,如图: 开发从头来(windows)(十八)-自动生成文档-ruby on rails"> 完成以后,可以在depot\doc目录下看到刚才生成的文档,打开index.html,看到下面的内容:

Ruby on rails开发从头来(windows)(二十八)- 使用Rake运行测试

Rake是使用ruby编写的程序,我们用Rake来读入RakeFile.而Rakefile里包含了定义的任务,每个任务都有一个名字,和它所依赖的一些任务,并且还有一组要执行的动作.现在我们来了解一下Rails中的Rake. 当你使用Rails的generate脚本创建一个项目的时候,会自动在项目的根目录生成一个Rakefile文件,可以帮助你完成很多任务,我们还可以使用一个命令来查看都提供了哪些功能,在Rails的命令行中执行:depot>rake –tasks 命令,将会看到数据库,文档,测试

Ruby on rails开发从头来(windows)(十五)-添加用户

从这篇开始,我们来实现一组用户管理的功能,首先是添加用户. 1.首先,我们要创建一个表保存用户信息,并且生成一个对应的model. 创建表的脚本,在phpAdmin里执行就可以了: create table users ( id int not null auto_increment, name varchar(100) not null, hashed_password char(40) null, primary key (id) ) 然后在命令行生成User的model,如图: 开发从头来

Ruby on rails开发从头来(windows)(十三)-订单(Order)

在上次的内容里,我们编写了CHECKOUT的处理.这次我们将显示购物车和订单放在一个页面上表示,这样用户在下订单的时候就可以很方便地看到自己的购物情况. 1.修改checkout.rhtml文件,只要添加一句代码: <%= error_messages_for("order") %> <%= render_component(:action => "display_cart") %> ――这句 <%= stylesheet_lin

Ruby on rails开发从头来(windows)(十二)-订单(Order)

在上次的内容里,我们创建了订单的Model,和表示页面,这次继续编写CHECKOUT的处理. 1.在checkout.rhtml的页面上,有一个CHECKOUT按钮,上次还没有给它编写处理代码,现在在store_controller中添加save_order方法,代码如下: def save_order @cart = find_cart @order = Order.new(params[:order]) @order.line_items <<@cart.items if @order.s