美文网首页研究
爱上 ruby on rails一 : 项目初始化

爱上 ruby on rails一 : 项目初始化

作者: RickyWu585 | 来源:发表于2022-07-01 00:04 被阅读0次

    启动后端项目:

    rvm use 3
    bundle exe rails server
    

    rails数据库设计:

    1. 建模工具:generate model(这里的model用单数就行,因为一个model对应一个表)
    bin/rails g model user email:string name:string
    
    1. 定义方法:这个方法是针对改变数据库的方法
    class User < ApplicationRecord ( '<' 是继承的意思)
        // validates :email, presence: true : 这里是之后验证用的
    end
    
    // db/migrate
    class CreateUsers < ActiveRecord::Migration[7.0]
      def change  ('change'意思是对数据库做的变动)
        create_table :users do |t|
          t.string :email
          t.string :name
    
          t.timestamps  (会创建两个字段:updated_at created_at)
        end
      end
    end
    
    1. 同步到数据库:数据库就变了
    bin/rails db:migrate
    bin/rails db:rollback  step=3(回滚,drop table,step是次数,可不填,默认是回滚1次)
    
    1. 由于接下来要对user进行创建,查询之类的操作,由此就引入了创建路由routes.rb,下面代码的意思:当年你用post请求访问'/users'的时候,就会调用userscontroller里的create方法
    Rails.application.routes.draw do
      # Define your application routes per the DSL in https://guides.rubyonrails.org/routing.html
    
      post '/users', to: 'users#create'
      get '/users/:id', to: 'users#show'
    end
    
    1. 脚手架命令生成针对userscontroller:这里是show方法和create方法
    bin/rails g controller users show create
    
    1. 对相关方法进行实现:
    class UsersController < ApplicationController
      def create
        user = User.new  name: 'frank'
        if user.save
          render json: user
        else
          render json: user.errors
        end
      end
    
      def show
        user = User.find_by_id params[:id]
        if user
          render json: user
        else
          head 404
        end
      end
    end
    
    1. 数据验证,示例:models里验证email必须存在(presence: true)
    class User < ApplicationRecord
      validates :email, presence: true
    end
    

    相关文章

      网友评论

        本文标题:爱上 ruby on rails一 : 项目初始化

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