[RUBY] Erstellen einer App und erstmaliges Bereitstellen mit heroku

Erstellen einer Anwendung `rails new railsgirls cd rails server`

Verwenden Sie das Gerüst, um Ideen zu bilden, hinzuzufügen, zu entfernen, zu bearbeiten und anzuzeigen. rails generate scaffold idea name:string description:text picture:string

Aktualisieren Sie als Nächstes die Datenbank. rails db:migrate

Design Design mit Bootstrap.

app/views/layouts/application.html.erb


<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>

Fügen Sie vor dieser einen Zeile Folgendes hinzu

app/views/layouts/application.html.erb


<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css">

Ändern Sie außerdem das Innere von "" wie folgt.

app/views/layouts/application.html.erb


<div class="container">
  <%= yield %>
</div>

Fügen Sie dann Ihrem Layout Navigation und Fußzeilen hinzu. Fügen Sie unmittelbar nach "" Folgendes hinzu.

app/views/layouts/application.html.erb


<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
  <div class="container">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="/">The Idea app</a>
    </div>
    <div class="collapse navbar-collapse">
      <ul class="nav navbar-nav">
        <li class="active"><a href="/ideas">Ideas</a></li>
      </ul>
    </div>
  </div>
</nav>

Fügen Sie außerdem kurz vor "</ body>" Folgendes hinzu.

app/views/layouts/application.html.erb


<footer>
  <div class="container">
    Rails Girls 2020
  </div>
</footer>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

Es ändert auch den Stil der Ideentabelle.

app/assets/stylesheets/application.css


body { padding-top: 100px; }
footer { margin-top: 100px; }
table, td, th { vertical-align: middle; border: none; }
th { border-bottom: 1px solid #DDD; }

Hinzufügen der Foto-Upload-Funktion

Öffnen Sie Gemfile und Fügen Sie unmittelbar nach "gem'sqlite3" die folgende Zeile hinzu: gem 'carrierwave'

Führen Sie dann den folgenden Befehl im Terminal aus:

bundle

Anschließend können Sie mit dem folgenden Befehl Code generieren, um den Upload durchzuführen:

rails generate uploader Picture

Nächster,

app/models/idea.rb


class Idea < ApplicationRecord

Schreiben Sie unmittelbar danach Folgendes.

app/models/idea.tb


mount_uploader :picture, PictureUploader

des Weiteren,

app/views/ideas/_form.html.erb


<%= form.text_field :picture %>

Ändern Sie dies wie folgt:

app/views/ideas/_form.html.erb


<%= form.file_field :picture %>

Dies zeigt nur den Pfad der Datei. Damit

app/views/ideas/show.html.erb


<%= @idea.picture %>

Ändern Sie den obigen Code wie folgt.

app/views/ideas/show.html.erb


<%= image_tag(@idea.picture_url, width: 600) if @idea.picture.present? %>

Wurzelanpassung http://localhost:3000でideasページにリダイレクトできるようにします。

config/routes.rb


root to: redirect('/ideas')

Fügen Sie der App eine Seite hinzu

rails generate controller pages info

Laden Sie die App auf Heroku hoch

Vorbereitung für Heroku

Bereiten Sie zunächst ein Heroku-Konto vor. Benutzerregistrierungsbildschirm: (https://signup.heroku.com/)

Heroku CLI installieren Laden Sie die Anwendung für Befehlszeilenoperationen in Heroku herunter.

Für Mac brew install heroku/brew/heroku

Geben Sie nach der Installation von Heroku Toolbelt den folgenden Befehl in das Terminal ein: heroku login

Fügen Sie dann den von Ihnen erstellten Code zum Versionsverwaltungssystem hinzu. Geben Sie im Terminal den folgenden Befehl ein:

echo public/uploads >> .gitignore


git add .
git commit -m "initial commit"

Datenbankaktualisierung
gem 'sqlite3', '~> 1.4'

Ändern Sie diesen Code wie folgt:


group :development do
  gem 'sqlite3', '~> 1.4'
end
group :production do
  gem 'pg'
end

Führen Sie dann den folgenden Befehl auf dem Terminal aus, um es einzurichten.

bundle install --without production git add . git commit -m "Added pg gem and updated Gemfile.lock"

App bereitstellen Erstellen Sie eine Heroku-App. Der Name der App muss auf Heroku eindeutig sein. `heroku create first-app`

Bei Erfolg wird Folgendes angezeigt. Creating ⬢ first-app... done http://my-first-app.herokuapp.com/ | https://git.heroku.com/my-first-app.git

Wenn der Name der App bereits verwendet wird, sieht er folgendermaßen aus: Creating ⬢ my-first-app... ! ▸ Name first-app is already taken

Code drücken Senden Sie den Code an Heroku. git push heroku main

Datenbankmigration heroku run rails db:migrate

Sie können die App aus dem Internet anzeigen, indem Sie den folgenden Befehl ausführen: herku open

Referenz Rails Girls Guides https://railsgirls.jp/

Recommended Posts

Erstellen einer App und erstmaliges Bereitstellen mit heroku
Zum ersten Mal lernen Java # 3 Ausdrücke und Operatoren
Spring Boot zum ersten Mal
Spring AOP zum ersten Mal
Einführung in Java zum ersten Mal # 2
Zum ersten Mal Java lernen [Einführung]
Die Geschichte der ersten Veröffentlichung der Android-App im Play Store.
Lassen Sie uns den Berechtigungscode-Grant-Flow mit Spring Security OAuth-Teil 2: Erstellen einer App vorerst erleben
Wände von der ersten Rspec getroffen
SSH-Login beim App-Server mit Heroku
Android Studio-Entwicklung zum ersten Mal (für Anfänger)
Ich habe zum ersten Mal versucht, Docker zu berühren
[Android Studio / Java] Was Sie nicht verstehen, wenn Sie es zum ersten Mal berühren
Versuchen Sie, eine mit Quarkus erstellte App auf Heroku auszuführen
Importieren Sie eine Instanz und verwenden Sie sie auf einem anderen Bildschirm
Lernnotiz beim ersten Lernen von Java (persönliches Lernnotiz)
Wie man Kotlin zum ersten Mal studiert ~ Teil 2 ~
Wie man Kotlin zum ersten Mal studiert ~ Teil 1 ~
Erstellen Sie eine Android-App für diejenigen, die keine Musik über ihre Lautsprecher abspielen möchten
Greifen Sie mit Get on Android auf die Web-API zu und verarbeiten Sie Json (vorerst Java).
[Rails] Ich habe zum ersten Mal versucht, die button_to-Methode zu verwenden
Erstellen des ersten LINEbot mit AWS Cloud9 (Rails + Heroku-Bereitstellung)
Anfängerfreundliches Veröffentlichungsverfahren für Android-Apps, das um die erste Version kämpft⁈
[Android] Ändern Sie den App-Namen und das App-Symbol für jeden Geschmack
Erstmaliges Modellieren von Digimon mit DDD Teil 1
Technische Ursachen und Gegenmaßnahmen für die Punkte, denen ich mit der ersten Android-App und Kotlin verfallen war
[Memo] Führen Sie Node.js v4.4.5 vorerst unter CentOS 4.9 / RHEL4 (i386) aus (gcc-4.8 und glibc2.11 unter LinuxKernel 2.6.9).
Installieren Sie das memcached Plugin unter MySQL und greifen Sie von Java aus zu
Ich habe die Menüleiste (Optionsmenü) unter Android geöffnet und gesehen.
(Ruby on Rails6) Erstellen einer Datenbank und Anzeigen in einer Ansicht
"Warten Sie, bis der Prozess abgeschlossen ist" und beenden Sie den Prozess, da er bestehen bleibt
Erstellen Sie ein Docker-Image für redoc-cli und registrieren Sie es auf Docker Hub
Veröffentlichte die No Todo App anstelle von Todo. .. (Und Ridgepole Notizen)
Android Studio zeigt zwei Methoden mit nur einer onClick-Schaltfläche. Java löst eine Ausnahme aus und ruiniert die App
Was ein unerfahrener Mensch jetzt nach einem Monat Selbststudium in der Programmierung zum ersten Mal denkt.
[Ruby on Rails] Beim ersten Anmelden ・ So teilen Sie den Bildschirm mit jQuery in zwei Hälften
Bereiten Sie die Umgebung für CUDA, Nvida-Driver und cuDNN auf einem Ubuntu 18.04-PC mit Geforce RTX2080 SUPER vor.