美文网首页
2016-11-05 task-list

2016-11-05 task-list

作者: 痞老板丶 | 来源:发表于2016-11-05 12:49 被阅读0次

    今日任务

    总结

    • 数据库迁移
      • 生成User模型
      rails generate model User name:string email:string
    invoke active_record 
    create db/migrate/20160523010738_create_users.rb 
    create app/models/user.rb invoke test_unit 
    create test/models/user_test.rb 
    create test/fixtures/users.yml
    

    注意:控制器名字是复数,模型名字是单数

    • 生成迁移文件
    rails generate migration add_index_to_users_emai
    rails generate migration CreateUsers name:string 
    ...
    

    如果迁移的名字是“AddXXXToYYY”或者“RemoveXXXFromYYY”这种格式,而且后面跟着一个字段名和类型列表,那么迁移中会生成合适的 add_column 或 remove_column 语句。详细信息

    • 执行迁移
      rails db:migrate
    • 撤销迁移
      rails db:rollback
    • 数据库
    • 数据库存储

    要完成存储功能,需要先执行new,在执行save。或者直接使用create

       ````
    

    user = User.new(name: "k",email: "12@12.com")
    user.save
    user = User.create(name: "k",email: "12@12.com")
    user.valid? #判断用户是否有效
    user.destroy #删除用户

    >_create_的逆操作_destroy_。这两种操作都会返回对象,并且destroy销毁的对象还存储在内存中。只是数据库里面的销毁了。
    + 查找
    

    User.find(1)
    User.find_by(name: "name")
    User.first
    User.all #返回一个ActiveRecord::Relation实例,包含所有用户

     + 更新
    

    第一种

    user = User.first
    user.name = "kakarot"
    user.save
    user.reload

    第二种

    user.update_attributes(name: "Dude", email: "dude@abides.org")
    user.update_attribute(:name, "Duse")

    + 测试
    >暂时没明白。。。
    
    + 数据验证 [详细信息](http://guides.ruby-china.org/active_record_validations.html)
    

    before_save { email.downcase! }

    存储前全部改为小写

    validates :name, presence: true, length: { maximum: 50 }

    限制name不能为空,不能大于50

    VALID_EMAIL_REGEX = /\A[\w+-.]+@[a-z\d-.]+.[a-z]+\z/i

    邮件匹配正则表达式

    validates :email, presence: true, length: { maximum: 255 },
    format: { with: VALID_EMAIL_REGEX }, uniqueness: {
    case_sensitive: false }

    邮件不为空,不大于255,匹配正则,唯一且不区分大小写。

    相关文章

      网友评论

          本文标题:2016-11-05 task-list

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