Ruby on Rails学习笔记(四 用scaffold实现持久化类)


1.创建首页

1.新增一个控制器
`rails generate controller home index`
执行之后,在项目的app\views\home目录下就多了一个index.html.erb的文件
2.设置主页 
    1.编辑config\routes.rb添加以下代码
        root :to => "home#index"
    2.在终端中
        $ bundle install
        $ rails s
    此时发现主页变了

2.配置数据库

编辑config\database.yml,修改default和development,其它部分不要动
default: &default
  adapter: mysql2
  encoding: utf8
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  username: root
  password: 159753
  socket: /var/run/mysqld/mysqld.sock

development:
  <<: *default
  database: helloworld_development

3.生成器的使用

1.使用scaffold(汉译:脚手架,断头台)代码生成器创建user类
$ rails generate scaffold user name:text password:text --force
因为前面测试的时候已经创建过user了,因此加上了一个force参数,表示修改这个类
2.创建项目所需数据库 
$ rake db:create
3.持久化类
$ rake db:migrate
这个时候打开mysql 
mysql -u root -p
use database helloworld_development
desc users
执行这一步后会自动在数据库中生成users表,注意了,我们创建的类是user,而这里自动生成的表却是users,是它的负数形式,是不是特别人性化?要么说ruby是最优雅的语言呢///果然名不虚传呀。。。
我们会发现users表的结构是这样的

mysql> desc users;
+------------+------------+------+-----+---------+----------------+
| Field      | Type       | Null | Key | Default | Extra          |
+------------+------------+------+-----+---------+----------------+
| id         | bigint(20) | NO   | PRI | NULL    | auto_increment |
| name       | text       | YES  |     | NULL    |                |
| password   | text       | YES  |     | NULL    |                |
| created_at | datetime   | NO   |     | NULL    |                |
| updated_at | datetime   | NO   |     | NULL    |                |
+------------+------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)
我们发现除了我们自己添加的属性name,password之外,又多了三个属性:id(primaryKey),created_at,updated_at

4.将users/index设置为主页
编辑config--->routes.rb

将users/index设置为主页的代码为添加
root :to => "users#index"
5.运行项目
$ bundle install
$ rails s


夸我夸我!!!


第一个hellworld项目总算是搭完了,感觉自己这几天神挡杀神佛挡杀佛。。。夸我夸我

这是我拿来练手的项目,github地址为
https://github.com/houchuanhao/helloworld.git

这个项目会作成一个论坛,欢迎fork~

Rails Migration Data Types – MySql – Postgresql – SQLite
Rails       mysql       postgresql  sqlite
:binary     blob        bytea       blob
:boolean    tinyint(1)  boolean     boolean
:date       date        date        date
:datetime   datetime    timestamp   datetime
:decimal    decimal     decimal     decimal
:float      float       float       float
:integer    int(11)     integer     integer
:string     varchar(255)    *       varchar(255)
:text       text        text        text
:time       time        time        datetime
:timestamp  datetime    timestamp   datetime
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值