En un mot, une commande qui crée tous les fichiers nécessaires et termine le routage, y compris la base de données.
$rails g nom du modèle d'échafaudage nom de la colonne 1:Nom de colonne de type de données 2:Type de données....
modèle Fichier de migration manette Vue routage
Si vous générez une colonne d'âge de la colonne de nom avec un nom de modèle ʻusersinfo`.
$rails g scaffold usersinfo name:string age:integer
Puisqu'il n'y a pas de description spéciale, elle est omise.
*******_*******.rb
class CreateUsersinfos < ActiveRecord::Migration[5.1]
  def change
    create_table :usersinfos do |t|
      t.string :name #Le nom de la colonne et le type de données spécifiés au moment de la génération sont décrits.
      t.integer :age
      t.timestamps
    end
  end
end
Décrit jusqu'à présent au moment de la génération
*******_controller.rb
class UsersinfosController < ApplicationController
  before_action :set_usersinfo, only: [:show, :edit, :update, :destroy]
  # GET /usersinfos
  # GET /usersinfos.json
  def index
    @usersinfos = Usersinfo.all
  end
  # GET /usersinfos/1
  # GET /usersinfos/1.json
  def show
  end
  # GET /usersinfos/new
  def new
    @usersinfo = Usersinfo.new
  end
  # GET /usersinfos/1/edit
  def edit
  end
  # POST /usersinfos
  # POST /usersinfos.json
  def create
    @usersinfo = Usersinfo.new(usersinfo_params)
    respond_to do |format|
      if @usersinfo.save
        format.html { redirect_to @usersinfo, notice: 'Usersinfo was successfully created.' }
        format.json { render :show, status: :created, location: @usersinfo }
      else
        format.html { render :new }
        format.json { render json: @usersinfo.errors, status: :unprocessable_entity }
      end
    end
  end
  # PATCH/PUT /usersinfos/1
  # PATCH/PUT /usersinfos/1.json
  def update
    respond_to do |format|
      if @usersinfo.update(usersinfo_params)
        format.html { redirect_to @usersinfo, notice: 'Usersinfo was successfully updated.' }
        format.json { render :show, status: :ok, location: @usersinfo }
      else
        format.html { render :edit }
        format.json { render json: @usersinfo.errors, status: :unprocessable_entity }
      end
    end
  end
  # DELETE /usersinfos/1
  # DELETE /usersinfos/1.json
  def destroy
    @usersinfo.destroy
    respond_to do |format|
      format.html { redirect_to usersinfos_url, notice: 'Usersinfo was successfully destroyed.' }
      format.json { head :no_content }
    end
  end
  private
    # Use callbacks to share common setup or constraints between actions.
    def set_usersinfo
      @usersinfo = Usersinfo.find(params[:id])
    end
    # Only allow a list of trusted parameters through.
    def usersinfo_params
      params.require(:usersinfo).permit(:name, :age)
    end
end
Toutes les vues décrites dans le contrôleur sont générées automatiquement.
Vous devez écrire vous-même le routage.
routes.rb
resources :Afficher le nom#Écrivez par vous-même
Dans les rails, il existe une fonction pour vérifier le contenu d'entrée et l'échafaudage est généré en privé dans le contrôleur. Si vous ajoutez une colonne à «après avoir exécuté» l'échafaudage », elle ne sera pas enregistrée dans la base de données à moins que vous n'ajoutiez le nom de la colonne dans cette méthode privée.
***.controller.rb
private
 def usersinfo_params
  params.require(:usersinfo).permit(:name, :age, :location, :description, :certification, :note) 
#Dans le permis, la colonne décrite lors de l'exécution de l'échafaudage(:name, :age)Puisque seul est décrit, il est nécessaire d'ajouter la colonne ajoutée.
 end
        Recommended Posts