rails5.2.2框架使用脚手架(generate)连接sqlite数据库生成一个项目

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/luyaran/article/details/86157460

这个,,,本来是想连接MySQL数据库的,但是嘞,ruby2.2不支持mysql2,安装mysql的话又很麻烦,所以就直接是用了sqlite,有关于这个sqlite的安装,大家可以戳这里下载文件,打开的界面如下:

完事之后的安装什么的,大家可以选择去网上搞一下。

之后就是安装rails连接sqlite的接口了,很简单,使用如下命令:

gem install sqlite3

完事之后就算是安装好了,之后呢,我们就可以使用脚手架来创建一个基本的项目了,在这之前,我们先来设计下我们的数据库结构user表,表结构很简单,一个唯一的标识 id(integer 类型)、一个公开的名字 name(string 类型)和一个电子邮件地址 email(也是 string 类型)这三个,我们接下来看下创建系统的命令:

rails generate scaffold User name:string email:string

在上述代码中,我们没必要指定 id 字段,Rails 会自动创建并将其设为表的主键(primary key)。

接下来我们就要用 rails db:migrate 命令迁移(migrate)数据库,命令如下:

rails db:migrate

之后运行rails server来启动服务器,我们就可以来查看这个项目是否已经生成了。

路径如下:

http://127.0.0.1:3000/user #查看数据列表

完事打开的页面都有那个操作引导,咱这里就不废话了,有兴趣的可以再次修改之前咱们规定的那些表字段,然后重复上述操作,就可以创建一个新的功能了,有关生成的文件代码,咱这里展示下:

#user控制器
class UsersController < ApplicationController
  before_action :set_user, only: [:show, :edit, :update, :destroy]

  # GET /users
  # GET /users.json
  def index
    @users = User.all
  end

  # GET /users/1
  # GET /users/1.json
  def show
  end

  # GET /users/new
  def new
    @user = User.new
  end

  # GET /users/1/edit
  def edit
  end

  # POST /users
  # POST /users.json
  def create
    @user = User.new(user_params)

    respond_to do |format|
      if @user.save
        format.html { redirect_to @user, notice: 'User was successfully created.' }
        format.json { render :show, status: :created, location: @user }
      else
        format.html { render :new }
        format.json { render json: @user.errors, status: :unprocessable_entity }
      end
    end
  end

  # PATCH/PUT /users/1
  # PATCH/PUT /users/1.json
  def update
    respond_to do |format|
      if @user.update(user_params)
        format.html { redirect_to @user, notice: 'User was successfully updated.' }
        format.json { render :show, status: :ok, location: @user }
      else
        format.html { render :edit }
        format.json { render json: @user.errors, status: :unprocessable_entity }
      end
    end
  end

  # DELETE /users/1
  # DELETE /users/1.json
  def destroy
    @user.destroy
    respond_to do |format|
      format.html { redirect_to users_url, notice: 'User was successfully destroyed.' }
      format.json { head :no_content }
    end
  end

  private
    # Use callbacks to share common setup or constraints between actions.
    def set_user
      @user = User.find(params[:id])
    end

    # Never trust parameters from the scary internet, only allow the white list through.
    def user_params
      params.require(:user).permit(:name, :email)
    end
end

#user的模型
class User < ApplicationRecord
end

只有有关view层的代码,大家可以自己看下,更改表结构之后,代码的基本格式不变,变的只是名称而已,大家手动操作下就会有感觉了。

上述过程只能创建一个比较low的项目,没有验证,没有样式。。。。

咱也不多说了哈。

好啦,本次记录就到这里了。

如果感觉不错的话,请多多点赞支持哦。。。

猜你喜欢

转载自blog.csdn.net/luyaran/article/details/86157460