[RUBY] Zusammenfassung der ersten Arbeiten beim Erstellen einer App mit Rails

Einführung

Da dies wie jedes Mal beim Erstellen einer Anwendung mit Schienen festgelegt werden kann, fasse ich die anfänglichen Einstellungen zusammen. Die Arbeit ist wie folgt.

・ App-Erstellung ・ Datenbankerstellung ・ Einführung von Edelstein ・ Einführung von Haml · Tabelle erstellen ・ Controller- und Ansichtserstellung ・ Einführung von jquery

App-Erstellung

Erstellen Sie zunächst eine App, indem Sie Befehle über das Terminal eingeben.

Ich denke, es ist eine gute Idee, die Schienenversion anzugeben, mit der Sie vertraut sind. (Diesmal Version 5.2.3, Datenbank verwendet myspl) Gehen Sie in dem Verzeichnis, in dem Sie Ihre App speichern möchten, wie folgt vor: (Diesmal ist der App-Name ein Beispiel)

Terminal


$ rails _5.2.3_ new sample -d mysql

Wechseln Sie in das Verzeichnis der erstellten Anwendung.

Terminal


$ cd sample

Datenbankerstellung

Erstellen Sie eine Datenbank.

Terminal


$ rails db:create

Eine Datenbank für Entwicklung und Test sollte erstellt werden. (Überprüfen Sie mit einer App wie Sequel Pro)

Edelsteineinführung

Setzen Sie zuerst den Edelstein ein, von dem Sie glauben, dass Sie ihn für die Entwicklung verwenden werden. Ich denke, die folgenden vier können vorerst aufgenommen werden. Fügen Sie Ihrem Gemfile Folgendes hinzu.

Gemfile


group :development, :test do
  gem 'pry-rails'
end

gem 'haml-rails'
gem 'font-awesome-sass'
gem 'jquery-rails'

Ich werde jeden erklären Pry-Rails: Um die Verarbeitung auf dem Controller zu stoppen und den Inhalt der Parameter zu überprüfen haml: Weil haml verwendet wird (einfacher zu schreiben als erb) font-awesome-sass: um das font-awesome-Symbol zu verwenden jquery-rail: um jquery zu verwenden

Nach dem Hinzufügen installieren

Terminal


$ bundle install

Haml Einführung

Ich habe haml zu gem hinzugefügt, aber ich werde die erb-Datei, die ursprünglich beim Erstellen der App erstellt wurde, in haml ändern. Führen Sie einfach den folgenden Befehl aus:

Terminal


$ rails haml:erb2haml

Durch Ausführen des Befehls wird die vorhandene erb-Datei in eine haml-Datei konvertiert. Nach dem Ausführen des Befehls werden Sie gefragt, ob Sie die ursprünglichen .erb-Dateien löschen möchten. Geben Sie also y ein. (Die Frage ist, ist es in Ordnung, die ursprüngliche erb-Datei zu löschen? Beantworten wir mit gut → y, nein → n)

Tabelle erstellen

Erstellen Sie eine Tabelle in der Datenbank. Dieses Mal werde ich eine Beitragstabelle erstellen. (Ich denke, dass dies nach dem Entwerfen der Datenbank beim tatsächlichen Erstellen einer Anwendung geschehen wird, aber bitte denken Sie, dass dies zur einfachen Bestätigung des Ablaufs dient.)

■ Erstellen Sie zunächst ein Modell.

Terminal


$ rails g model post

Eine Migrationsdatei und eine Modelldatei sollten wie in der Abbildung unten gezeigt erstellt werden. 6b09d101921453a7b9b21fad5bec9fe1.png

■ Bearbeiten Sie anschließend die Migrationsdatei. Beschreibt die Informationen der zu erstellenden Spalte. Diesmal ist der Spaltenname Inhalt, der Datentyp ist Zeichenfolge und es gibt eine Nullbeschränkung. Fügen wir es der Migrationsdatei hinzu! (Die Migrationsdatei befindet sich in db / migrate)

xxxxxxxxxxxxxx_create_posts.rb


class CreatePosts < ActiveRecord::Migration[5.2]
  def change
    create_table :posts do |t|
      t.string :content, null: false
      t.timestamps
    end
  end
end

■ Führen Sie eine Migration durch Migrieren Sie nach dem Schreiben der Migrationsdatei.

Terminal


$ rails db:migrate

Es ist in Ordnung, wenn die Tabelle wie in der Abbildung unten gezeigt erstellt wird. f719a52b32f13a6df5d62f5569dd5d00.png

Controller, Ansichtserstellung

■ Erstellen Sie zunächst einen Controller. (Ohne dies wird es keine App ...) Dieses Mal werden wir einen Posts-Controller erstellen.

Terminal


$ rails g controller posts

Ich denke, dass verschiedene Dateien erstellt werden, wenn Sie den Befehl ausführen, aber vorerst ist es in Ordnung, wenn Sie nur auf posts_controller.rb achten. (Hier wird auch ein Ansichtsordner für den Posts-Controller erstellt.) 9be2237cae0ffacc53580744ec6464be.png

■ Controller-Bearbeitung Schreiben Sie die Aktion auf den Controller. (Datei ist in App / Controller)

posts_controller.rb


class PostsController < ApplicationController
  def index
  end
end

Derzeit wird nur die Indexaktion beschrieben. Dieses Mal werde ich die Beschreibung des Inhalts wie Instanzvariablen weglassen.

■ Routing-Einstellungen Als nächstes legen wir das Routing für die Verwendung des Controllers fest. (Datei ist in Konfiguration)

routes.rb


Rails.application.routes.draw do
  root "posts#index"
  resources :posts, only: :index
end

Die Indexaktion des Posts-Controllers kann verwendet werden. Ändern Sie auch den Stammpfad. (Ohne dies wird die von Rails vorbereitete Standardseite beim Zugriff auf den Stammpfad angezeigt.)

■ Routing-Bestätigung Lassen Sie uns überprüfen, ob das Routing richtig eingestellt ist

Terminal


$ rails routes

Es ist in Ordnung, wenn die Indexaktion des Posts-Controllers wie in der Abbildung unten gezeigt eingestellt ist. e901ca940d1239356297f31fbf5a6ea5.png

■ Dateierstellung anzeigen Bereiten Sie nach dem Festlegen des Routings die Ansichtsdatei vor. (Selbst wenn Sie die Anfrage überspringen, wird ohne dies eine Fehlermeldung angezeigt, da keine Datei vorhanden ist.)

Erstellen Sie index.html.haml in app / views / posts. Schreiben wir etwas, damit der Inhalt leicht verständlich ist.

haml:index.html.haml


%h1 Indexseite

■ Überprüfen Sie mit einem Browser Lassen Sie uns nach dem Erstellen der Ansichtsdatei mit dem Browser prüfen, ob sie funktioniert. Starten Sie einen lokalen Server.

Terminal


$ rails s

Geben Sie localhost: 3000 / in die URL mit einem Browser wie Chrome ein, um darauf zuzugreifen. Es ist in Ordnung, wenn es gemäß der vorbereiteten Ansichtsdatei angezeigt wird (siehe Abbildung unten).

1f78058672dcf3d9d948b9cffe64c8be.png

Jquery eingeführt

Wir werden jquery einführen. Fügen wir der Anwendung.js die Anforderung jquery hinzu.

application.js


//= require jquery
//= require rails-ujs
//= require activestorage
//= require_tree .

--- beiseite --- Übrigens, wenn Ajax manuell mit jquery hinzugefügt wird, kann dies die Turbolinks beeinträchtigen. In meinem Fall habe ich also Turbolinks gelöscht. Kommentieren Sie die Beschreibung der Turbolinks in Gemfile aus Die Beschreibung der Turbolinks in der Datei application.html wurde entfernt Die Beschreibung der Turbolinks in der Datei application.js wurde entfernt

Lassen Sie uns abschließend überprüfen, ob jquery im Browser ordnungsgemäß funktioniert. Alles ist in Ordnung, schreiben Sie also Folgendes in die js-Datei und schauen Sie sich die Browserkonsole an! Sie können den Konsolenbildschirm mit dem Chrome-Überprüfungstool überprüfen. (Diesmal dient es zur Bestätigung, schreiben Sie es also in application.js)

application.js


$(function(){
  console.log("OK")
})

Wenn OK angezeigt wird (siehe Abbildung unten), funktioniert es ordnungsgemäß. 5d3352fcaeb81a05709680d955d6dccc.png

Dies ist das Ende aller Arbeiten beim Erstellen einer Anwendung. Ich würde mich freuen, wenn Sie auf Fehler hinweisen könnten.

Recommended Posts

Zusammenfassung der ersten Arbeiten beim Erstellen einer App mit Rails
Grobe Prozedur verbalisierte Ausgabe beim Erstellen einer App mit Rails
So geben Sie db beim Erstellen einer App mit Rails an
Downgrade einer vorhandenen App, die mit Rails 5.2.4 erstellt wurde, auf 5.1.6
Hinweis: Cheet Sheet beim Erstellen der Rails Vue-App
So pushen Sie mit Rails entwickelte Apps an Github
[Rails] Ersteinstellung der vom Benutzer erstellten Anmeldung mit devise, devise_token_auth
Was ist nach der Installation von 'devise' 'bootstrap' von gemfile with Rails zu tun, wenn url ein Fehler ist?
Erstellen einer EC-Site mit Rails5 ①-App-Konfiguration, verschiedene Edelsteinvorbereitungen, Modell- / Routing-Erstellung-
Ich möchte eine mit Rails 6 erstellte App an GitHub senden
Achten Sie bei der Verwendung von MessageEncryptor mit Rails 5.2 / 6.0 auf den Zeitpunkt der Initialisierung
Die Geschichte des Refactorings mit einem selbstgemachten Helfer zum ersten Mal in einer Rails-App
Benennungsregeln beim Erstellen neuer Controller und Modelle mit Schienen
Fügen Sie @GeneratedValue nicht unnötig hinzu, wenn Sie eine Entität mit JPA erstellen
Zusammenfassung der Probleme und Gegenmaßnahmen beim Betrieb des IE mit WebDriver of Selenium2
[Anfänger] Wenn Schienen nicht funktionieren
Erstellen Sie eine App mit Spring Boot 2
[JVM] Zusammenfassung beim Stolpern mit jstat
[Rails] Zusammenfassung der komplizierten Routing-Konfiguration
Informationen zum Erstellen von Apps mit Springboot
Erstellen einer Timer-App mit Schlamm
Zusammenfassung des Anfangszustands der Gerätesteuerung
[Rails] Erste Datenerstellung mit Seed
Erstellen Sie eine App mit Spring Boot
Vorsichtsmaßnahmen beim Erstellen von PostgreSQL mit Docker-Compose
Strg-Z funktioniert, es gibt also eine Möglichkeit zu unterbrechen und zu töten: Dies ist mühsam und kann den falschen töten. Sie können dies in ein Python-Skript schreiben. Verfolgen Sie Rails-App-Fehler mit Python, C-Erweiterung Sentry
[Rails] Erste Dateneingabe mit seed_fu!
Zusammenfassung der Mittel, wenn Sie mit HTTP unter Android kommunizieren möchten
Erstellen Sie mit Rails x LineBot eine App für die Zusammenfassung von technischen Nachrichten im LINEnews-Stil! [Teil 1]
Eine Sammlung von Methoden, die häufig beim Bearbeiten der Zeit mit TimeWithZone of Rails verwendet werden
[Für Rails-Anfänger] Zusammenfassung der Verwendung von RSpec (Überblick)
[Persönliches Memo] Zusammenfassung der Stolpersteine beim Bereitstellen von Rails-Apps für AWS
[Ruby on Rails] Einführung der Anfangsdaten
[Ruby on Rails] Erstellen eines Anfrageformulars
[Rails6] Erstelle eine neue App mit Rails [Anfänger]
Einführung von Vue.js in eine vorhandene Rails-App
Fehler beim Erstellen der Infrastruktur mit der aws-App
Rails Grundlagen zum Erstellen einer neuen Anwendung
[Rails 5] Erstelle eine neue App mit Rails [Anfänger]
[AWS] Veröffentlichen Sie die Rails-App mit Nginx + Puma
Lassen Sie uns mit Rails einen Fehlerbildschirm erstellen
Einführung von Vuetify in vorhandene Rails-Apps
Rails6 Ich möchte ein Array von Werten mit einem Kontrollkästchen erstellen