[RUBY] Verwendung von Schienen g Gerüst, Funktionen, Vorsichtsmaßnahmen

Was ist ein Gerüst?

Kurz gesagt, ein Befehl, der alle erforderlichen Dateien erstellt und das Routing einschließlich der Datenbank abschließt.

Generierungsmethode

$Schienen g Gerüstmodellname Spaltenname 1:Datentyp Spaltenname 2:Datentyp....

Generierte Datei

Modell- Migrationsdatei Regler Aussicht Routing

Inhalt der generierten Datei

Wenn Sie eine "Namensspalte Altersspalte" mit dem Modellnamen "usersinfo" generieren.

$rails g scaffold usersinfo name:string age:integer

Modell-

Da es keine spezielle Beschreibung gibt, wird sie weggelassen.

Migrationsdatei

*******_*******.rb


class CreateUsersinfos < ActiveRecord::Migration[5.1]
  def change
    create_table :usersinfos do |t|
      t.string :name #Der zum Zeitpunkt der Generierung angegebene Spaltenname und Datentyp werden beschrieben.
      t.integer :age

      t.timestamps
    end
  end
end

Regler

Bisher zum Zeitpunkt der Erzeugung beschrieben

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

Aussicht

Alle im Controller beschriebenen Ansichten werden automatisch generiert.

Routing

Sie müssen das Routing selbst schreiben.

routes.rb


resources :Name anzeigen#Schreiben Sie selbst

wichtiger Punkt

Ergänzung zu params.require

In Schienen gibt es eine Funktion zum Überprüfen des Eingangsinhalts, und das Gerüst wird privat in der Steuerung generiert. Wenn Sie nach dem Ausführen des Gerüsts eine Spalte hinzufügen, wird diese nicht in der Datenbank gespeichert, es sei denn, Sie fügen den Spaltennamen in dieser privaten Methode hinzu.

***.controller.rb


private
 def usersinfo_params
  params.require(:usersinfo).permit(:name, :age, :location, :description, :certification, :note) 
#In der Genehmigung wird die Spalte beschrieben, wenn das Gerüst ausgeführt wird(:name, :age)Da nur beschrieben wird, muss die hinzugefügte Spalte hinzugefügt werden.
 end

Recommended Posts

Verwendung von Schienen g Gerüst, Funktionen, Vorsichtsmaßnahmen
[Rails] Verwendung von Enum
[Rails] Verwendung von Enum
Verwendung von Rails Join
[Rails] Verwendung der Validierung
[Rails] So verwenden Sie authenticate_user!
[Schienen] Verwendung von Scope
[Rails] Wie man Edelstein "devise" benutzt
[Schienen] Verwendung von Geräten (Hinweis)
[Rails] Verwendung von Flash-Nachrichten
Verwendung von Ruby on Rails
[Rails] Verwendung von Active Storage
[Einführung in Rails] Verwendung von Render
[Rails] Verwendung von ActiveRecord :: Bitemporal (BiTemporalDataModel)
[Schienen] Verwendung der Kartenmethode
Verwendung von MySQL im Rails-Tutorial
[Ruby on Rails] Verwendung von redirect_to
[Hinweis] Verwendung von Rails 6 Devise + Cancancan
[Rails] Verwendung von video_tag zum Anzeigen von Videos
[Rails] Verwendung der Hilfsmethode, Confimartion
Verwendung von credentials.yml.enc aus Rails 5.2
Verwendung von Map
Wie schreibe ich Rails
Wie benutzt man rbenv?
Verwendung mit_option
Verwendung von fields_for
[Rails] Verwendung von Auswahlfeldern in Ransack
Verwendung der Karte
Verwendung von collection_select
Wie benutzt man Twitter4J
Wie benutzt man active_hash! !!
Verwendung von MapStruct
Verwendung von TreeSet
So deinstallieren Sie Rails
[Verwendung des Etiketts]
Wie man Identität benutzt
Wie man Hash benutzt
Verwendung von JQuery in Rails 6 js.erb
Verwendung von Dozer.mapper
Wie benutzt man Gradle?
[Rails] Verwendung von PostgreSQL in einer Vagrant-Umgebung
Verwendung von org.immutables
Verwendung von java.util.stream.Collector
Verwendung von VisualVM
Verwendung von Map
[Rails] So verwenden Sie die Hilfsmethode von devise before_action: authenticate_user!
[Rails] Ich weiß nicht, wie ich das Modell verwenden soll ...
[Schienen] Wie poste ich Bilder?
Verwendung der Ketten-API
[Java] Verwendung von Map
Verwendung der Warteschlange mit Priorität