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

xiaoxiao2021-02-28  100


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
转载请注明原文地址: https://www.6miu.com/read-60197.html

最新回复(0)