[RUBY] Comment utiliser les rails g échafaudage, fonctions, précautions

Qu'est-ce qu'un échafaudage

En un mot, une commande qui crée tous les fichiers nécessaires et termine le routage, y compris la base de données.

Méthode de génération

$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....

Fichier généré

modèle Fichier de migration manette Vue routage

Contenu du fichier généré

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

modèle

Puisqu'il n'y a pas de description spéciale, elle est omise.

Fichier de migration

*******_*******.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

manette

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

Vue

Toutes les vues décrites dans le contrôleur sont générées automatiquement.

routage

Vous devez écrire vous-même le routage.

routes.rb


resources :Afficher le nom#Écrivez par vous-même

point important

Ajout aux paramètres requis

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

Comment utiliser les rails g échafaudage, fonctions, précautions
[Rails] Comment utiliser enum
[Rails] Comment utiliser enum
Comment utiliser la jonction de rails
[Rails] Comment utiliser la validation
[Rails] Comment utiliser authenticate_user!
[Rails] Comment utiliser Scope
[Rails] Comment utiliser la "devise" des gemmes
[Rails] Comment utiliser l'appareil (Remarque)
[Rails] Comment utiliser les messages flash
Comment utiliser Ruby on Rails
[Rails] Comment utiliser Active Storage
[Introduction aux rails] Comment utiliser le rendu
[Rails] Comment utiliser ActiveRecord :: Bitemporal (BiTemporalDataModel)
[Rails] Comment utiliser la méthode de la carte
Comment utiliser MySQL dans le didacticiel Rails
[Ruby on Rails] Comment utiliser redirect_to
[Note] Comment utiliser Rails 6 Devise + cancancan
[Rails] Comment utiliser video_tag pour afficher des vidéos
[Rails] Comment utiliser la méthode d'assistance, confimartion
Comment utiliser credentials.yml.enc introduit à partir de Rails 5.2
Comment utiliser Map
Comment écrire des rails
Comment utiliser rbenv
Comment utiliser with_option
Comment utiliser fields_for
[Rails] Comment utiliser les boîtes de sélection dans Ransack
Comment utiliser la carte
Comment utiliser collection_select
Comment utiliser Twitter4J
Comment utiliser active_hash! !!
Comment utiliser MapStruct
Comment utiliser TreeSet
Comment désinstaller Rails
[Comment utiliser l'étiquette]
Comment utiliser l'identité
Comment utiliser le hachage
Comment utiliser JQuery dans Rails 6 js.erb
Comment utiliser Dozer.mapper
Comment utiliser Gradle
[Rails] Comment utiliser PostgreSQL dans l'environnement Vagrant
Comment utiliser org.immutables
Comment utiliser java.util.stream.Collector
Comment utiliser VisualVM
Comment utiliser Map
[rails] Comment utiliser la méthode d'assistance de devise before_action: authenticate_user!
[Rails] Je ne sais pas comment utiliser le modèle ...
[rails] Comment publier des images
Comment utiliser l'API Chain
[Java] Comment utiliser Map
Comment utiliser Queue avec priorité