美文网首页
rails 简单增删改查

rails 简单增删改查

作者: Lucien_d70a | 来源:发表于2018-03-25 00:50 被阅读0次

    rails是什么

    • 大致理解为为了方便前端开发,然后就会有人封装了一些框架,例如vue,而rails 就是 ruby的一个框架,方便开发者用ruby进行开发。

    Rails中数据在MVC框架中的传递

    image.png

    数据在MVC框架中的传递如上图所示。上图的执行步骤为:

    1.浏览器发送HTTP request请求给rails服务器;
    2.路由(Routing)根据规则决定送往哪一个Controller的Action中进行处理;
    3.负责处理请求的controller通过action操作model;
    4.model访问数据库并对数据进行操作;
    5.controller将读取到的数据资料渲染给view模板;
    6.回传最终的HTML页面给浏览器

    rails 命名约定

    • 数据库表名:复数,下划线分隔单词(例如 book_clubs)
    • 模型类名:单数,每个单词的首字母大写(例如 BookClub)

    rails命令行记录

    • _ #看上一次打印了什么

    • rails new 项目名称 #生成一个项目

    • bin/rails server #启动一个项目

    • bin/rails generate controller Welcome index # 生成器创建一个包含“index”动作的“Welcome”控制器:

    • bin/rails generate model 开头大写模型的名称 #生成一个model

    • rails db:migrate #迁移 生成一个数据表

    • bin/rails c #开启调试

      • 模型名.all #看到表所有数据

      • 模型名.first #看到表的第一条数据

      • 模型名.new #表的数据结构

      • 模型名.find() #找到表对应的id的那条数据

      • 模型名.find_by(健名:'内容') #找到对应字段并且内容相同的数据

    Active Record

    • 中文翻译: 活动记录
    • Active Record 是 MVC 中的 M(模型),负责处理数据和业务逻辑。Active Record 负责创建和使用需要持久存入数据库中的数据。Active Record 实现了 Active Record 模式,是一种对象关系映射系统。
    创建Active Record 模型

    rails中创建一个活动记录很简单

    class Product < ApplicationRecord
    end
    
    • 创建一个继承ApplicationRecord类的类,而ApplicationRecord
      继承 ActiveRecord::Base,后者定义了一系列有用的方法。

    • 使用 ActiveRecord::Base.table_name= 方法可以指定要使用的表名:

    暂时看不懂
    

    CRUD

    • 什么是CRUD,国人常说的增删改查,英文就是create,reade,update,delete。
    • C 表示创建,R 表示读取,U 表示更新,D 表示删除
      首先:
    bin/rails generate model Test  //后面可以加字段,也可以不加字段。
    // 如果不定义字段 可以找到db文件夹的migrate 对应的迁移自己进行增加字段
    
    • rails会自动为你创建一个models,和 一张迁移(migrate)。
    rails db:migrate  //迁移(暂时理解为生成一张对应的据表)
    
    • 在rubymine自带的终端 开启调试 bin/rails c 输入:
    创建
    # 直接创建一条数据在对应的表中,并且保存
    模型名.create(字段名: '...',...)
    
    # new 方法实例化一个新对象,但不保存:
    # 例子: 
    user = User.new
    user.name = "David"
    user.occupation = "Code Artist"
    # user.save  调用save就可以保存到数据库了
    
    读取
    # 返回所有用户组成的集合
    users = User.all
    
    # 返回第一个用户
    user = User.first
    
    # 返回第一个名为 David 的用户
    david = User.find_by(name: 'David')
    
    更新
    # 简单的更新
    user = User.find_by(name: 'David')
    user.name = 'Dave'
    user.save
    
    # 用update方法
    user = User.find_by(name: 'David')
    user.update(name: 'Dave')
    
    # user = User.find_by(name: 'David')
    user.update(name: 'Dave')
    
    # 批量修改
    User.update_all "name = 'cwh'"
    
    删除
    user = User.find_by(name: 'David')
    user.destroy
    

    相关文章

      网友评论

          本文标题:rails 简单增删改查

          本文链接:https://www.haomeiwen.com/subject/vrrccftx.html