5.2 Weitere Views anlegen
edit und new
Unsere Bookmarkverwaltung soll nicht nur die vorhandenen Bookmarks listen, sondern es soll auch möglich sein, diese zu editieren und neue Bookmarks anzulegen. Dazu benötigen wir weitere Views. Diese können wir entweder so wie die index.html.erb manuell erstellen, oder wir können den bereits eingesetzten controller -Generator erneut einsetzen, aber dieses Mal nutzen wir den Generator auch zur Erzeugung der Views. Es werden die Views index, edit und new benötigt:
ruby script/generate controller bookmarks index edit new
Da wir bereits einen Controller bookmarks und den View index.html.erb erstellt hatten, fragt das System nach, ob es diese beiden Dateien überschreiben soll. Den Controller müssen wir überschreiben, aber die index.html.erb überschreiben wir nicht:
... overwrite app/controllers/bookmarks_controller.rb? (enter "h" for help) [Ynaqdh] Y ... overwrite app/views/bookmarks/index.html.erb? (enter "h" for help) [Ynaqdh] N ...
Da die Action index im Controller mit einer leeren Methode überschrieben wurde, müssen wir hier wieder den bereits vorhandenen Code einsetzen:
def index @bookmarks = ["http://www.rubyonrails.com", "http://www.ruby-lang.org"] end
Der Controller bookmarks enthält jetzt folgenden Code:
Listing app/controllers/bookmarks_controller.rb
class BookmarksController < ApplicationController def index @bookmarks = ["http://www.rubyonrails.com", "http://www.ruby-lang.org"] end def edit end def new end end
Views
Und es stehen folgende Views im Ordner app/views/bookmarks zur Verfügung:
- index.html.erb
- edit.html.erb
- new.html.erb
Die beiden neu generierten Views enthalten automatisch generierten Code, den Sie sofort und ohne etwas am Controller ändern zu müssen mit neuen Überschriften überschreiben können:
new.html.erb: <h2>Neuen Favorit erstellen</h2> edit.html.erb: <h2>Favorit bearbeiten</h2>
Diese Änderungen können Sie im Browser über die Aufrufe
http://localhost:3000/bookmarks/new und
http://localhost:3000/bookmarks/edit
überprüfen.
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.