PicoJournal – Heroku Host Hass

Ja Moin! Heute will ich wieder etwas mit Ruby on Rails machen! Die letzten zwei Wochen habe ich meine Kenntnisse über Rails mit diesem Buch erweitern wollen. Zwar habe ich nur die ersten zwei Kapitel geschafft, da die Bachelorarbeit sich auch im Endspurt befand, doch die reichen um heute den nächsten Fortschritt zu erzielen. Sofern Alles nach Plan läuft 😉

pfeildingsRails Seiten hosten mit Heroku

In seinem Buch erkllärt Michael Hartl, dass es eine gute Idee sei Rails Projekte von Anfang an zu hosten. So erkennt man bereits zu Beginn Probleme beim Setup und Unterschiede zwischen der lokalen und serverseitigen Version. Heroku ist ein Dienst, der mir schon vorm Lesen des Buches aufgefallen ist. Das interessante dabei ist, dass ich durch einen Konsolenbefehl meine Seite online bringen kann. Das funktioniert mit Hilfe von git. Das nutze ich sowieso schon, also kann ich einfach git push heroku master aufrufen und die Sache läuft! So zumindest die Theorie. Als ich das tatsächlich versuche tauchen noch eine ganze Reihe Fehler auf.

Als erstes muss das Gemfile angepasst werden. Dieses bekommt eine Unterscheidung für Development und Production, da Heroku mit Postgres läuft und nicht mit Sqlite3.

group :development do
  # Use sqlite3 as the database for Active Record
  gem 'sqlite3'
  # Access an IRB console on exception pages or by using <%= console %> in views
  gem 'web-console', '~> 2.0'

  # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
  gem 'spring'
end

group :production do
  gem 'pg', '0.18.4'
  gem 'rails_12factor'
end

Danach auf Heroku registrieren und ein Repo erstellen. Jetzt wollte ich einfach diesen git push heroku master Befehl nutzen, doch es ging nicht. Ich habe nicht herausgefunden warum und das Problem hat sich nach einer Weile selbst erledigt. Vielleicht muss man nach dem Setup etwas warten.

Freudig klicke ich auf die Webseite und hurra! PicoJournal ist tatsächlich online, nur gibt es einige Probleme. Schriftart und Schriftgröße sind verkehrt, ein Hintergrundbild lädt nicht und anscheinen geht Devise auch nicht. Klasse.

Nach wildem googlen löst sich das Devise Problem. Ich habe db: migrate vergessen, das gibt es auch speziell für Heroku: heroku run rake db:migrate . Jetzt kann man sich registrieren und sauhässliche Posts anlegen! Es ist nicht viel, aber über irgendetwas muss man sich ja freuen.

Für die Probleme mit CSS bekomme ich auch nach 2 Stunden keine Lösung auf die Beine…Ein Paar Ansätze habe ich für nächstes Mal gefunden. Das Hintergrundbild wird in CSS deklariert, daher ist es irgendwie anders als der Rest. Das restliche CSS wird wegen einer sogenannten Asset Pipeline in Heroku anders kompiliert, als lokal. Dafür kann man mit RAILS_ENV=production bundle exec rake assets:precompile diese lokal kompilieren und dann erst rüberschicken. Das hat leider nur noch mehr zerstört.

Trauriges Ergebnis

Somit verbleibt für heute eine sehr verkrüppelte Version von PicoJournal auf Heroku: https://picojournal.herokuapp.com

heroku-verkackt
Ohne Styles ist alles doof.

pfeildings

Manchmal gewinnt man, manchmal lernt man was. Heute hat es nicht so klappen wollen, einen Schritt weiter bin ich trotzdem. Wirklich gut fühlt sich es nicht an, diesen Post jetzt so stehen zu lassen, doch mir geht die Zeit aus. Bis nächste Woche!

*bleibt geschmeidig*