本文参考:
http://guides.rubyonrails.org/
http://guides.rubyonrails.org/v3.2.21/migrations.html
1、Model到数据库中的表
1/1 修改数据库配置文件
config/database.yml
development:
adapter: mysql2
encoding: utf8
reconnect: false
database: ror-test
pool: 5
username: root
password: 123456
host: 0.0.0.0
1/2 生成模型代码
rails generate model teacher name:string age:string sex:string t_id:string
rails generate model student name:string age:string sex:string s_id:string
如果提示错误
/var/lib/gems/2.2.0/gems/activerecord-5.0.1/lib/active_record/connection_adapters/connection_specification.rb:176:in `rescue in spec': Specified 'mysql2' for database adapter, but the
gem is not loaded. Add `gem 'mysql2'` to your Gemfile (and ensure its version is at the minimum required by ActiveRecord). (Gem::LoadError)
解决
在Gemfile文件中找到
gem 'sqlite3'
将其替换成
gem 'mysql2'
然后运行
bundle install
1/3 执行数据库变更
rails db:migrate
此时数据库内就会产生两张表
1/4 创建Controller验证
rails generate controller db_test test_model_to_db
执行完成之后在路由表config/routes.rb里面会增加一行路由
get 'db_test/test_model_to_db'
db_test表示我们的Controller是db_test(对应代码是app/controllers/db_test_controller.rb)
test_model_to_db表示我们的action(响应方法)名是test_model_to_db
例如
def test_model_to_db
student=Student.find(1)
render :text => "#{request.GET}=>#{student.name}"
end
结果
{}=>111