使用rails高效开发之快速创建控制器 视图 模型和数据库文件
2012-05-07 00:38
639 查看
上文回顾:上文说明了在windows中快速创建环境的方法。
教你10分钟内在Windows上完成Rails开发环境的安装和配置
本文内容:本文将介绍,那些效率非常高的快速创建文件和数据库的命令,包括:
使用mysql快速创建项目;
一个命令创建项目的开发和测试数据库;
用命令创建数据库中的表的流程;
一个命令创建控制器和视图;
一个命令创建模型和数据库文件;
一个命令创建全部文件和数据库;
取消之前的创建操作的命令;
?
然后,创建新的项目,我使用mysql 数据库,所以加了--database=mysql参数,如果不加参数,rails的默认数据库是SQLite3 :
提示:经过多次测试,网络上其它两种方法-d mysql 和-database=mysql都不会自动生成database.yml文件为mysql的配置。
?
创建完成后,使用dos的dir /p/w查看创建了哪些文件和目录
?
配置分别对应开发、测试和生成数据库的配置,把他们修改为自己的配置。
创建数据,如果mysql运行正常,rails配置正确,使用rake db:create命令,会在msyql中创建jiaocheng_test和jiaocheng_development两个数据库。命令如下,
?
然后,创建一个名字叫User的控制器,控制中有一个home方法。
(注意:区分大小写。http://localhost:3000/user/home可以访问,user/Home是不能访问的。)命令如下,
?
最后,设置首页。找到config/route.rb中,root :to=>'User#home',去掉注释并设置为自己的控制器。如图,
这时再访问:http://localhost:3000,结果如下,
?
然后,调整文件,增加数据限制等信息,文件内容如下:
(提示:rails 3.1添加了一个change 更智能的方法,它可以判断何时回滚,就不再单独书写down方法。如果你在其它资料里看到up配合down的方法,仍然可以使用)
?
最后,使用rake db:migrate方法。
?
除了add_column 此文件中支持的方法还有:
?
?
这会创建模型和一个db/migrate/*.rb的文件,适当修改此文件,然后执行,
?
查看数据库,发现增加了表products。注意:表名称比输入的名称多了"s",这是自动加的,用于区分英文的单数和复数。如果使用拼音,也会自动添加一个"s"。
?
产生的15 个文件录,以下是个简单的说明:
调整db/migrate/*.rb文件,后执行rake db:migrate,在数据库中添加Posts表。
?
?
如何删除和取消上面的操作呢?使用destroy命令,它的作用和generate相反。
?
数据库的操作如何取消?取消上一步,
?
取消前三部操作,
?
我们知道db/migrate/*.rb文件是用时间戳命名的,如果你在其中写了特定的:up :down,可以指定回退某一个版本,命令如下,
?
转载出处:http://www.cnblogs.com/tambor/archive/2012/01/04/rails_migrate.html
教你10分钟内在Windows上完成Rails开发环境的安装和配置
本文内容:本文将介绍,那些效率非常高的快速创建文件和数据库的命令,包括:
使用mysql快速创建项目;
一个命令创建项目的开发和测试数据库;
用命令创建数据库中的表的流程;
一个命令创建控制器和视图;
一个命令创建模型和数据库文件;
一个命令创建全部文件和数据库;
取消之前的创建操作的命令;
1,新建项目
先切换到准备放置项目的目录:?
提示:经过多次测试,网络上其它两种方法-d mysql 和-database=mysql都不会自动生成database.yml文件为mysql的配置。
?
2,创建数据库:
数据库的配置信息在config/database.yml文件中。(snwrking: 这是rails new 命令加了--database=mysql后自动加的。这样在这个工程的config的database.yml中就是mysql的设置)?
创建数据,如果mysql运行正常,rails配置正确,使用rake db:create命令,会在msyql中创建jiaocheng_test和jiaocheng_development两个数据库。命令如下,
?
3,创建后台控制器:
首先,删除public/index.html文件,因为rails优先读取public目录下的静态文件。然后,创建一个名字叫User的控制器,控制中有一个home方法。
(注意:区分大小写。http://localhost:3000/user/home可以访问,user/Home是不能访问的。)命令如下,
?
最后,设置首页。找到config/route.rb中,root :to=>'User#home',去掉注释并设置为自己的控制器。如图,
这时再访问:http://localhost:3000,结果如下,
4,增加或修改数据库中表的流程是:
首先,创建一个migrate文件,?
(提示:rails 3.1添加了一个change 更智能的方法,它可以判断何时回滚,就不再单独书写down方法。如果你在其它资料里看到up配合down的方法,仍然可以使用)
?
?
?
5,同时创建模型和数据库:
rails 的Migrations 还提供了同时创建模型和数据库中的表的命令:?
这会创建模型和一个db/migrate/*.rb的文件,适当修改此文件,然后执行,
?
查看数据库,发现增加了表products。注意:表名称比输入的名称多了"s",这是自动加的,用于区分英文的单数和复数。如果使用拼音,也会自动添加一个"s"。
6,使用脚手架快速建立一组Model,、Views、Controller和数据库:
使用scaffold,?
档案 | 目的 |
---|---|
db/migrate/20120104214725_create_posts.rb | 用来建立posts 资料库资料表的Migration (你的档案开头名称会有不同的timestamp) |
app/models/post.rb | Post model |
test/fixtures/posts.yml | 用来测试的假文章资料 |
app/controllers/posts_controller.rb | Posts controller |
app/views/posts/index.html.erb | 用来显示所有文章的index 页面 |
app/views/posts/edit.html.erb | 用来编辑文章的页面 |
app/views/posts/show.html.erb | 用来显示特定一篇文章的页面 |
app/views/posts/new.html.erb | 用来新增文章的页面 |
app/views/posts/_form.html.erb | 用来显示编辑和新增文章的表单partial |
app/helpers/posts_helper.rb | 可在文章views 中使用的Helper 函式 |
test/unit/post_test.rb | posts model 的单元测试 |
test/functional/posts_controller_test.rb | posts controller 的功能测试 |
test/unit/helpers/posts_helper_test.rb | posts helper 的单元测试 |
config/routes.rb | 设定URL路由规则的档案 |
public/stylesheets/scaffold.css | CSS样式档案 |
?
7,回退操作:
如果你跟随我上面的操作,就会创建了许多文件,例如创建了控制器,命令如下,?
?
数据库的操作如何取消?取消上一步,
?
?
?
转载出处:http://www.cnblogs.com/tambor/archive/2012/01/04/rails_migrate.html
相关文章推荐
- 使用rails高效开发之快速创建控制器 视图 模型和数据库文件
- 使用rails高效开发之快速创建控制器 视图 模型和数据库文件
- 110.Oracle数据库SQL开发之 视图——创建并使用视图
- 2016/5/6 thinkphp ①框架 ② 框架项目部署 ③MVC模式 ④控制器访问及路由解析 ⑤开发和生产模式 ⑥控制器和对应方法创建 ⑦视图模板文件创建 ⑧url地址大小写设置 ⑨空操作空控制器 ⑩项目分组
- (转摘)_《数据库设计入门经典》:构建快速执行的数据库模型_8.5 使用视图
- Visual C# 2008+SQL Server 2005 数据库与网络开发--4.5.2 使用SQL创建视图
- iOS 6 开发----应用集合视图(UICollectionView)-使用xib文件创建集合视图单元格
- YII控制器,模型,视图的创建与使用
- 新浪微博开发-创建文件结构和初始化根视图控制器
- 汤森路透 Thomson Reuters --使用多模型数据库ArangoDB 打造快速安全的简单视图分析
- 在access中如何创建数据库。你认为数据库在网站开发中所扮演的角色是什么。使用数据库和使用文件,两者的优缺点各是什么。
- 解决:Android使用自带sqlite开发时,apk中创建的数据库外部的进程是没有权限去读/写的,而且无法如何读取指定目录下的db文件
- iWebShop 二次开发,创建自己的控制器,模型,视图
- ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第二章:利用模型类创建视图、控制器和数据库
- IOS 开发创建xib文件并且与视图控制器绑定
- 使用android快速开发框架afinal的FinalDb操作android数据库
- iOS开发中的使用kvc快速将字典模型转换成model模型。
- 《HiWind企业快速开发框架实战》(2)使用HiWind创建自己的项目
- 使用MyBatis Generator自动创建表对应的dao层接口、模型层对象、sql语句的xml文件