Rails On Ruby_Use Database

use of database
Rails 项目必定要用到数据库, 本例使用MySQL数据库
第一步: 数据库准备
1) 建库 :MySQL中创建三个数据库, 分别用于:开发, 测试,产品, 苦命约定用项目名做前缀。 SQL脚本如下:
create database chensite_development;
create database chensite_test;
create database chensite_production;

2)建表 :由于是开发阶段,先就只在chensite_development中建表, Rails建议每个表都带一个和业务无关的ID字段,建表

的SQL如下:

drop table if exists users;
create table users (
    id int not null auto_increment,
    username varchar(20) not null,
    password varchar(20) not null,
    email varchar(50) not null,
    createtime datetime not null,
    primary key(id)
)ENGINE=innoDB DEFAULT CHARSET=gbk;

LOCK TABLES users WRITE;

INSERT INTO users VALUES(1, '北京', '111', 'glcheng@163.com', '2007-04-11 23:59:59');

INSERT INTO users VALUES(2, 'JACK', '111', 'jack@163.com', '2008-04-11 23:59:59');

INSERT INTO users VALUES(3, '山东', '111', 'rose@163.com', '2006-04-11 23:59:59');

UNLOCK TABLES;

第二步:在Rails项目中配置数据库 的连接
‘修改config/database.yml ,给连接三个数据库的rot用户输入密码,在输入密码时要注意:
冒号后面要有一个空格,并且密码之后不要有空格,否则无法启动WEB服务,
同样为了解决中文乱码问题,可以增加一个encoding配置

# SQLite version 3.x

#   gem install sqlite3-ruby (not necessary on OS X Leopard)

development :
 
    adapter: mysql
 
    encoding: gbk
 
    reconnect: false
 
    database: test  #创建的mysql数据库名
 
    pool: 5


    username: root    #连接mysql的用户名
 
    password: mysql    #连接mysql的用户名的密码
 
    host: localhost  #连接mysql的服务器

第三步:创建一个可以显示数据库数据的页面

1)创建数据模型 : app/models/user.rb
class User < ActiveRecord::Base

end

PS:
(1) Rails命名约定:数据库明为小写附属users, 文件名为小写单数user.rb,类名为大写单数User.
另外, 如果数据库明为site_users, 则文件名为site_user, 类名为SiteUser.
(2) 模型中不必定义属性, 它会自动以数据库字段为属性

2)创建视图 : views/homepage/index.rhtml, 显示user表所有记录的id 和name值
<html>
<body>
    <h1>chenGang' site</h1>
    <%for o in @users %>
        id: <%=o.id%> 而用户名是<%=o.username%><br/>
    <%end%>
</body>
</html>

视图中用到的@users变量来自于我们自己创建的如下控制器:
app/controllers/homepage_controller.rb
Rails中控制器中的变量可以在视图中使用
class HomepageController < ApplicationController
  def index
      @users = User.find(:all)
  end
end

Homepage和视图的目录名homepage相关
Index方法和视图的文件名Index.rhtml相关
用index可以省略访问地址中的action (action默认为index)

最后启动web服务器 后访问: http://localhost:3000/homepage

over.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值