美文网首页Editor
Ruby on Rails 笔记1-Rails常用命令

Ruby on Rails 笔记1-Rails常用命令

作者: HHbk | 来源:发表于2016-08-21 19:10 被阅读132次

    CookBook-1 Rails常用命令

    1. 新建程序

    rails new blog

    新建一个blog的rails项目,会自动创建一系列文件夹和文件,主要文件和作用如下表所示

    文件/文件夹 作用
    app/ controllers,views,models,helpers,mailers
    bin/ 运行程序的rails脚本 rails rake bundle等
    config/ routes database.yml
    db/ 当前数据库模式,以及数据库migrate文件
    Gemfile 指定gem依赖件

    2. 启动/停止服务

    rails server&rails s

    完成程序后,开启Ruby的内置服务器WEBrick,访问http://localhost:3000,可以看到Rails信息页面,类似PHP的phpinfo()

    Control + C

    停止Ruby内置服务器WEBrick

    3. 创建动作控制器Controller

    Action Controller 是 MVC 中的 C(控制器)。

    控制器负责解析用户请求,生成对应的请求。

    控制器可以视作模型和视图的中间人,让模型中的数据可以在视图中使用,把数据显示给用户,再把用户提交的数据保存或更新到模型中。

    Rails提供命令自动创建控制器,命令如下
    rails generate controller welcome index

    或者

    rails g controller welcome index

    使用后,主要效果如下表所示:

    动作 文件
    <font face="monospace">create app/controllers/welcome_controller.rb</font> 创建welcome的控制器rb文件
    route get ‘welcome/index' 配置相关路由
    create app/views/welcome create app/views/welcome/index.html.erb 创建welcome的index视图

    在Controller中可以编写所有的action,如果是RESTful的资源的话,主要有index、show、edit、update、delete等action

    4. 创建模型Model

    Active Record 是 MVC 中的 M(模型),处理数据和业务逻辑。

    Active Record 负责创建和使用需要持久存入数据库中的数据,是一种对象关系映射系统。

    Rails提供命令自动创建控制器,命令如下
    rails generate model articles

    或者

    rails g model articles

    使用后,主要效果如下表所示:

    动作 作用
    create db/migrate/20160821103242_create_articles.rb 创建数据库迁移migrate文件
    create app/models/article.rb 创建artcile模型

    5. 运行数据库迁移

    每次在db/migrate文件夹中生成数据库迁移文件后,可以运行rake任务进行迁移(rails5.0以后,rake改为了rails)。

    命令如下

    rake db:migrate

    Rails会执行迁移操作,在config/database.yml中的配置的数据库中做数据库表进行操作,如新建数据表,定义相关参数等

    up()方法会清空数据表,然后再增加相关记录
    down()方法会清空数据表

    6.撤销创建好的Model和Controller

    rails不但可以使用generate自动创建model和controller,还可以撤销,也就是删除。

    命令如下

    rails destroy model articles

    rails d model articles

    7 脚手架

    利用一条命令,Rails可以自动建立controller、model、view、route,并且完成CRUD的action的创建
    rails g scaffold product

    8 创建数据迁移任务

    在对数据库操作时,可以创建数据库迁移任务migration,在db/migratino/下创建
    rails g migration add_price_to_product price:decimal
    创建一个add_price_to_product的迁移任务,从字面上看是在product数据表中增加一个price属性,price是decimal类型的
    迁移任务的源文件如下:

    class AddPriceToProduct < ActiveRecord::Migration
      def change
        add_column :products, :price, :decimal
      end
    end
    

    在products表中增加decimal类型的price列

    相关文章

      网友评论

        本文标题:Ruby on Rails 笔记1-Rails常用命令

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