Ruby & Rails
Niemals *_url oder *_path Route-Helper benutzen. Immer Array-Style ([:method, model1, model2]). Siehe Rails route helpers are brittle.
Niemals eigene HTML <a>-Tags benutzen, immer link_to (link_to "text", model geht auch, sonst link_to "text", url_for(..,)).
Neue Hash-Style Notation benutzen (key: value statt :key => value)
HTTP / REST
POST requests (oder PUT, DELETE, PATCH...) fuer Dinge benutzen, die Daten veraendern. GET-Requests sollten immer dasselbe liefern wenn sie mehrfach hintereinander aufgerufen werden. button_to fuer logout z.B.. Siehe http://code.tutsplus.com/tutorials/a-beginners-guide-to-http-and-rest--net-16340 und http://restcookbook.com/HTTP%20Methods/put-vs-post/
Views / Frontend
JQuery UI wird von der alten Anwendung benutzt, das sollten wir aber komplett durch die Bootstrap-Elemente ersetzen.
Alle Views sollten in HAML konvertiert werden (bisher war das Format ERB). Es gibt ein Ruby-Script welches eine solche Konvertierung automatisch vornimmt: https://github.com/haml/html2haml, weiterhin gibt es diverse Online-Konvertierer.
Immer semantische CSS-Klassen benutzen: http://www.w3.org/QA/Tips/goodclassnames Hierbei ist zu beachten, dass die direkte Verwendung der Bootstrap-Klassen ebenfalls vermieden werden sollte, da diese ebenfalls oft das tatsaechliche Aussehen anstatt der Semantik beschreiben (z.B. navbar-right): http://ruby.bvision.com/blog/please-stop-embedding-bootstrap-classes-in-your-html
Icons
Wir benutzen SVG-Icons, genauer das Evil-Icons Set.
In den Views kann ein Icon mit dem Icon-Helper eingebunden werden:
= evil_icon 'ei-search'
= evil_icon 'ei-arrow-right', size: :m
= evil_icon 'ei-envelope', size: :l, class: "custom-class"
Eine Uebersicht der Verfuegbaren Icons und deren Namen gibt es auf http://evil-icons.io/
Derzeit koennen auch noch Glyphicons (der Standard von Bootstrap) verwendet werden:
span.glyphicon.glyphicon-iconname
Liste der Glyphicon-Namen: http://getbootstrap.com/components/#glyphicons
Allerdings sollten die Evil-Icons bevorzugt werden, da SVG inzwischen nur noch Vorteile gegenueber Font-Icons hat.
JS & CSS Assets: Bower bzw. Rails Assets
Zur Verwaltung von externen Javascript und CSS Abhaengigkeiten sollte in Zukunft Bower verwendet werden. Damit wir kein komplettes nodejs, npm, bower tooling brauchen, bietet sich Rails Assets an: https://rails-assets.org/
- Namen des Paketes auf https://rails-assets.org suchen
gem rails-assets-PAKETNAMEin Gemfile eintragen (imsource "https://rails-assets.org" doBlock)@import "PAKETNAME"in app/assets/stylesheets/application.css.sass eintragen//= require PAKETNAMEin app/assets/javascript/application.js eintragen
Achtung! In Punkt 3 und 4 kann es auch sein, dass man andere Namen verwenden muss, das haengt vom Paket ab. Die CSS/SCSS/JS Dateien sind jedenfalls zugreifbar, als wuerden sie in app/assets liegen. D.h. wenn man eine "foo/bar/baz.css" Datei laut Paketbeschreibung includen soll, kann man den Pfad genauso aber ohne das .css in application.css.sass eintragen.