Forum
Kaufen
Buchinfo Hanser Verlag
Errata
Rezensionen
Über die Autoren
Ruby on Rails Links
Kontakt
Impressum
Seite | Änderung/Anmerkungen |
---|---|
0 | Im vorderen Einband fehlt die schließende Klammer von collection_select |
15/16 | Für die Installation unter Mac OS sind root-Rechte notwendig, weshalb man entweder root ist oder überall sudo … verwenden muss (sudo ruby setup.rb und sudo gem install mysql). |
24 | Es ist von Vorteil zunächst die Datenbank-Tabelle aus Listing 3.2 zu erzeugen und im Anschluss den Generator per „ruby script/generate scaffold project project“ aufzurufen. |
26 | Listing 3.3: statt „app/model/iteration.rb“ muss es „app/models/iteration.rb“ |
26 | statt „rails script…“ muss es heissen: „ruby script/generate model iteration“ |
30 | Im Listing 3.8 fehlen die führenden <p> |
33 | Im Listing 3.12 fehlt das schließende </tr> Listing Überschrift 3.12 muss „app/views/project/show.rhtml“ heissen |
40 | Im Listing 3.28 fehlt das schließende </tr> |
47 | Im Listing 3.37 fehlt die schließende Klammer bei errors.add() |
51 | Im Listing 3.44 muss es iterations(id) heissen |
59 | Im Listing muss es statt user.mobile.to_s user.mobile_no.to_s heissen |
68 | Es muss ruby_lead = Person.find … heissen. |
74 | Feld name fehlt in Tabelle schedules: „name varchar(255) not null“ einfügen. Beide Definitionen haben eine schließende Klammer zu viel. |
81 | Felder begin und end in Tabelle iterations sollten not null erzeugt werden. |
81 | Tabelle iterations: Der Fremdschlüssel sollte statt fk_schedule_project fk_iteration_project heissen. |
90 | city und street sind im Konstruktor vertauscht. |
91 | Ausdruck :mapping => %w(street, city) ohne Komma, also :mapping => %w(street city) |
92 | Tabelle people um Feld firstname erweitern: „firstname varchar(100) not null“ einfügen |
98 | Tabelle tasks: Das Feld priotity muss priority heissen. |
101 | In errors.add(„name“,…) echte Hochkommata verwenden, nicht ´ |
103 | Der Aufruf project.save schlägt fehl, da das Projekt (wie auf Seite 102 gefordert) keine description hat und nicht wegen dem fehlenden Namen in der Iteration. |
104 | Im Aufruf validates_format_of der Klasse User muss der reguläre Ausdruck um ein i erweitert werden: …{2,})$/i, |
104 | Fehler im Text: Statt „Der Parameter :width…“ muss es heissen: „Der Parameter :with…“ |
116 | In der Abbildung 5.2 ist die Datei protocol_controller.rb zu sehen. Es müsste hier die Datei project_controller.rb sein. |
126 | Klasse ApplicationController: Statt „session_options = ::ActionController…“ muss es heissen: „session_options = ActionController…“ |
128 | Statt unless … false end besser einfach session[:person].role == Role::ADMIN, da der Ausdruck false oder true zurückliefert |
129 | Statt after_filter: d muss es after_filter :d heissen (gleiches gilt für c) |
132/133 | Der Code läßt sich zu session[:person] ||= Persion.new :firstname => ‚Ralf‘ vereinfachen. |
147 | number_with_delimiter hat das Komma als Default, daher ist die erste gezeigte Ausgabe falsch. |
150 | Statt :disabled => :true besser :disabled => „true“, da true hier ein HTML-Element darstellt und kein Ruby-Symbol. |
151 | Das Attribut value=“Rails“ wird nicht erzeugt. |
153 | Hinter <%= select_tag %> muss das </select> entfernt werden. |
161 | Der Partial View verwendet genau genommen die Methoden aus dem Helper-Modul des Controllers. Zum vorherigen Codeausschnitt passend, muss der Controller MemberController statt ProjectController heissen und der Befehl helper :member. |
178 | Genau genommen erscheint die Warnung wegen der Neudefinition einer Konstante und nicht wegen der Neudefinition des Arrays. |
200 | Abschnitt 9.2, Zeile 8: Statt „Die WS-API-Klasse ServiceApi…“ muss es heissen: „Die WS-API-Klasse TaskApi…“ |
203 | Unteres Listing: Die Klasse ServiceController muss von ApplicationController::Base erben. |
205 | Unteres Listing: Die Klasse DelegatedController muss von ApplicationController::Base erben. |
208 | Statt false unless key_valid? params[0] else true einfach key_valid? params[0] |
209 | Statt projects << Project.new … muss es projects << ProjectDto.new … heissen. |
218 | Statt @iteration besser iteration und statt task besser @task. Es reicht render :partial => ‚task‘, da das Objekt automatisch übergeben wird und Partials ohne Layout gerendert werden. |
219 | :field_id bezeichnet hier den ersten Parameter der Methode und nicht einen Schlüssel in der Optionen-Hash. |
224 | session[:cart][book_id] = … kann vereinfacht werden: session[:cart][book_id] = (session[:cart][book_id] || 0) + 1 |
225 | Mitte: Statt „Zusätzlich akzeptiert sortable_elemen(t)…“ muss es heissen „Zusätzlich akzeptiert sortable_element…“ |
231 | Effect.Fade und Effect.Appear setzen nicht nur die Deckkraft, sondern auch die display-Eigenschaft. |
259 | Es muss consider_all_requests_local = false heissen. |
265 | Statt /ontack/public muss es /ontrack/public heissen. |
265/266 | Es muss apache2ctl statt apach2ctl heissen. |
290 | assigns ist ein Hash und keine Collection und es wird hier die Methode assigns verwendet und nicht der Hash selbst. |
294 | assert_equal no_of_bookings … sollte nur einmal vorkommen. |
300 | Es gibt in Ruby keine statischen/i> Methoden, es ist die Klassenmethode gemeint. |
301 | „Eine Möglichkeit, dieses Problem zu umgehen“ … Diese Möglichkeit ist sehr schlecht, da die Tests dann stark von der echten Umgebung abweichen können. Besser: Die Fixtures in umgekehrter Reihenfolge im Teardown runterreißen, und die Fixtures in der Reihenfolge, in der sie angelegt werden können, importieren. |
301 | Unter Rails 1.0 steht @accounts standardmäßig nicht zur Verfügung. |
312/313 | assigns, flash, session und cookies sind Hashes, keine Collection |
317 | Statt „nicht korrekt initialisiert“ sollte es besser „nicht initialisiert“ heissen, denn die Korrektheit wird hier nicht geprüft. |
Dickes Dankeschön für die vielen Korrekturen an:Tammo Freese (business(at)tammofreese(dot)de) |
Dank an:
- Markus Fink (mail(at)finq(dot)net)
- Ingo Paulsen (paulseni(at)uni-duesseldorf(dot)de)
- Dirk V. Schesmer (dirk(dot)schesmer(at)mac(dot)com)
- Stefan Schuster (st(dot)schuster(at)gmail(dot)com)
- Peter-Hinrich Krogmann (peter-hinrich(dot)krogmann(at)gmx(dot)de)
- Marco Kratzenberg (marco(dot)kratzenberg(at)gmx(dot)de)
- Korrekturen Ruby-Pdf: Axel Rose (rose(at)sj(dot)com)
- Thorsten Brückner (tb(at)bruto(dot)de)
- Reiner Pittinger (reiner(at)pittinger(dot)de)
- Paul Führing (paul(dot)fuehring(at)gmx(dot)net)
- Vico Klump (vico(dot)klump(at)planet-interkom(dot)de)
- Johannes Held (mail(at)hehejo(dot)de)
- Ronald Sacher (sacher(at)manetmail(dot)de