zoukankan      html  css  js  c++  java
  • 继续:Ruby on Rails 简单了解

    一. 接着上一篇继续

    1.限制微博的长度

    在 Rails 中实现这种限制很简单,使用验证(validation)功能即可。要限制微博的长度最多为 140 个字符

    (1).打开文件:app/models/micropost.rb

    class Micropost < ApplicationRecord
    
      validates :content, length: {maximum: 140}
    
    end

    注:这句话的具体意思,稍后再谈,反正猜也能猜出来

    (2).然后,看效果:

    2.建立关联(一个用户拥有多篇微博, 一篇微博属于一个用户)

    (1).打开文件:app/models/user.rb

    class User < ApplicationRecord
      has_many :microposts
    end

    (2).打开文件:app/models/micropost.rb

    class Micropost < ApplicationRecord
      belongs_to :user
      validates :content, length: {maximum: 140}
    end

    关联关系:

    (3).穿插个知识点,记住了!!知识点!!!

    在控制台打印第一个用户所对应的微博

    # 解释一下
    rails console:打开rails的控制台输出
    exit:退出控制台
    注:中间啥意思,自己猜

    3.限制字段不能为空

    (1).打开文件:app/models/user.rb

    class User < ApplicationRecord
      has_many :microposts
      validates :name, presence: true
      validates :email, presence: true
    end

    (2).打开文件:app/models/micropost.rb

    class Micropost < ApplicationRecord
      belongs_to :user
      validates :content, length: {maximum: 140}, presence: true
    end

    注:自己试一下

    4.简单了解一下Ruby的继承体系

    (1).User类和Mcropost类

    # User 类的继承关系:
    class User < ApplicationRecord
    ...
    end
    
    # Mcropost 类的继承关系:
    class Micropost < ApplicationRecord
    ...
    end

    注:可以看出, User 和 Micropost 都(通过 < 符号)继承自 ApplicationRecord 类,而这个类继承自 ActiveRecord::Base 类,这是 Active Record 为模型提供的基类。图中列出了这种继承关系。继承 ActiveRecord::Base 类,模型对象才能与数据库通讯,才能把数据库中的列看做 Ruby 中的属性,等等。

    (2).UsersController类和MicropostsController类

    # UsersController 类中的继承
    class UsersController < ApplicationController
    ...
    end
    
    # MicropostsController 类中的继承
    class MicropostsController < ApplicationController
    ...
    end
    
    # ApplicationController 类中的继承
    class ApplicationController < ActionController::Base
    ...
    end

    注:控制器的继承结构与模型基本相同。可以看出, UsersController 和 MicropostsController 都继承自 ApplicationController 。如代码所示, ApplicationController 继承自ActionController::Base 。 ActionController::Base 是 Rails 中 Action Pack 库为控制器提供的基类。

    。。。

    简单了解,已经结束了,接下来该正式学习了

  • 相关阅读:
    HDU1058Humble Numbers(DP)
    HDU1285确定比赛名次(拓扑排序)
    HDU2602Bone Collector(DP,0/1背包)
    HDU1869六度分离(最短路floyd)
    HDU3342Legal or Not(拓扑)
    Dijkstra不能得到含有负权边图的单源最短路径
    HDU1069Monkey and Banana(DP)
    HDU1176免费馅饼(DP)
    DAG上的动态规划
    网络分析中数据包结构的定义
  • 原文地址:https://www.cnblogs.com/rixian/p/11654325.html
Copyright © 2011-2022 走看看