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