Ruby on rails vorlesung 4 Rails Views

1,657 views

Published on

Einführung in die Verwendung des Ruby on Rails ActionPacks mit Fokus auf ActionView.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,657
On SlideShare
0
From Embeds
0
Number of Embeds
17
Actions
Shares
0
Downloads
22
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide



  • Anlegen eines Beispielprojekts.

  • ERBhttp://ruby-doc.org/core/classes/ERB.html

  • Hauptsache es ist Ruby drin :-)
  • Hauptsache es ist Ruby drin :-)
  • Hauptsache es ist Ruby drin :-)
  • Hauptsache es ist Ruby drin :-)
  • Hauptsache es ist Ruby drin :-)
  • Hauptsache es ist Ruby drin :-)

  • http://json.org/json-de.html
  • http://json.org/json-de.html
  • http://json.org/json-de.html
  • http://json.org/json-de.html
  • http://json.org/json-de.html
  • http://json.org/json-de.html
  • http://json.org/json-de.html

  • Rails 2.0
  • For-Schleife, Beispiel für einen Code-Block
  • For-Schleife, Beispiel für einen Code-Block











  • Rails Projekt erzeugen
    index.html löschen
    script/generate controller User index
    HTML zeigen --> keine Grundstruktur --> Layout benötigt
  • Rails Projekt erzeugen
    index.html löschen
    script/generate controller User index
    HTML zeigen --> keine Grundstruktur --> Layout benötigt
  • Rails Projekt erzeugen
    index.html löschen
    script/generate controller User index
    HTML zeigen --> keine Grundstruktur --> Layout benötigt
  • Rails Projekt erzeugen
    index.html löschen
    script/generate controller User index
    HTML zeigen --> keine Grundstruktur --> Layout benötigt
  • HTML zeigen (/profile) --> keine Grundstruktur --> Layout benötigt
    application.html - Layout anlegen --> für /profile & /user zeigen
    user.html anlegen --> Abweichung --> für /profile & /user zeigen
  • HTML zeigen (/profile) --> keine Grundstruktur --> Layout benötigt
    application.html - Layout anlegen --> für /profile & /user zeigen
    user.html anlegen --> Abweichung --> für /profile & /user zeigen
  • HTML zeigen (/profile) --> keine Grundstruktur --> Layout benötigt
    application.html - Layout anlegen --> für /profile & /user zeigen
    user.html anlegen --> Abweichung --> für /profile & /user zeigen
  • HTML zeigen (/profile) --> keine Grundstruktur --> Layout benötigt
    application.html - Layout anlegen --> für /profile & /user zeigen
    user.html anlegen --> Abweichung --> für /profile & /user zeigen






  • Demonstration!
  • Demonstration!
  • Demonstration!
  • Demonstration!
  • Demonstration!
  • Profile Controller verwendet das Layout des User Controllers
    Demonstriere Verfügbarkeit der Variablen






  • Demonstration!
  • Demonstration!
  • Demonstration!










  • ähnlich include in PHP
  • ähnlich include in PHP
  • ähnlich include in PHP
  • ähnlich include in PHP
  • Man beachte, dass hier der _ von _partial weggelassen wird!
  • Demonstration

  • ähnlich include in PHP
  • ähnlich include in PHP
  • Demonstration
  • Man beachte die Benennung der Variable. Die Rotfärbung zeigt den Zusammenhang.
  • ähnlich include in PHP
  • ähnlich include in PHP
  • Demonstration
  • Man beachte die Benennung der Variable. Die Rotfärbung zeigt den Zusammenhang.
  • ähnlich include in PHP
  • ähnlich include in PHP
  • Symbole: etwas speichersparender als Strings, oft als Hash-Keys verwendet





  • Ruby on rails vorlesung 4 Rails Views

    1. 1. Ruby on Rails Dozent Dipl.-Inf. (FH) Julian Fischer Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 1
    2. 2. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 2
    3. 3. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 3
    4. 4. 4. Rails Views shell $> rails view1 ... Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 3
    5. 5. 4.1 Was ist eine View? Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 4
    6. 6. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 5
    7. 7. 4. Rails Views • Textdatei mit eingebettetem Ruby-Code Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 5
    8. 8. 4.2 View Formate Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 6
    9. 9. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 7
    10. 10. 4. Rails Views • Welches Format kann eine View haben? Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 7
    11. 11. 4. Rails Views • Welches Format kann eine View haben? • HTML Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 7
    12. 12. 4. Rails Views • Welches Format kann eine View haben? • HTML • XML Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 7
    13. 13. 4. Rails Views • Welches Format kann eine View haben? • HTML • XML • JSON Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 7
    14. 14. 4. Rails Views • Welches Format kann eine View haben? • HTML • XML • JSON • CSS Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 7
    15. 15. 4. Rails Views • Welches Format kann eine View haben? • HTML • XML • JSON • CSS • ... Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 7
    16. 16. Einschub 4.3 Was ist JSON? Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 8
    17. 17. 4. Rails Views Einschub Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 9
    18. 18. 4. Rails Views Einschub • Was ist JSON? Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 9
    19. 19. 4. Rails Views Einschub • Was ist JSON? • JavaScript Object Notation Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 9
    20. 20. 4. Rails Views Einschub • Was ist JSON? • JavaScript Object Notation • Datenaustauschformat Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 9
    21. 21. 4. Rails Views Einschub • Was ist JSON? • JavaScript Object Notation • Datenaustauschformat • Für Mensch leicht lesbar Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 9
    22. 22. 4. Rails Views Einschub • Was ist JSON? • JavaScript Object Notation • Datenaustauschformat • Für Mensch leicht lesbar • Für Maschine leicht zu parsen Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 9
    23. 23. 4. Rails Views Einschub Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 10
    24. 24. 4. Rails Views Einschub • JSON Beispiel (Quelle: Wikipedia) Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 10
    25. 25. 4. Rails Views Einschub • JSON Beispiel (Quelle: Wikipedia) { "Kreditkarte" : "Xema", "Nummer" : "1234-5678-9012-3456", "Inhaber" : { "Name" : "Reich", "Vorname" : "Rainer", "Geschlecht" : ""männlich"", "Vorlieben" : [ "Reiten", "Schwimmen", "Lesen" ], "Alter" : null }, "Deckung" : 1e+6, "Währung" : "EURO" } Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 10
    26. 26. Einschub 4.4 ERB Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 11
    27. 27. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 12
    28. 28. 4. Rails Views <h1>Editing student</h1> <%= error_messages_for :student %> <% form_for(:student, :url => student_path(@student), :html => { :method => :put }) do |f| %> <%= render :partial => 'form', :locals => { :f => f } %> <p> <%= submit_tag "Update" %> </p> <% end %> <%= link_to 'Show', student_path(@student) %> | <%= link_to 'Back', students_path %> Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 12
    29. 29. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 13
    30. 30. 4. Rails Views <h2>Folien der Vorlesung Rechnerarchitektur</h2> <div id="getting-started"> <ol> <% for i in 1..6 do %> <li> Open Office: <a href="/folien/dfhi_ra_ws_2007_2008_00<%= i.to_s %>.odp">dfhi_ra_ws_2007_2008_00<%= i.to_s %>.odp</a> <br/> PDF: <a href="/folien/dfhi_ra_ws_2007_2008_00<%= i.to_s %>.pdf">dfhi_ra_ws_2007_2008_00<%= i.to_s %>.pdf</a> </li> <% end %> <% for i in 7..14 do %> <li> PDF: <a href="/folien/dfhi_ra_ws_2007_2008_00<%= i.to_s %>.pdf">dfhi_ra_ws_2007_2008_00<%= i.to_s %>.pdf</a> </li> <% end %> </ol> <a href="topic_allocation/index">Zur Wahl des Vortragsthemas</a> </div> Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 13
    31. 31. 4. Rails Views <h2>Folien der Vorlesung Rechnerarchitektur</h2> <div id="getting-started"> <ol> <% for i in 1..6 do %> <li> Open Office: <a href="/folien/dfhi_ra_ws_2007_2008_00<%= i.to_s %>.odp">dfhi_ra_ws_2007_2008_00<%= i.to_s %>.odp</a> <br/> PDF: <a href="/folien/dfhi_ra_ws_2007_2008_00<%= i.to_s %>.pdf">dfhi_ra_ws_2007_2008_00<%= i.to_s %>.pdf</a> </li> <% end %> <% for i in 7..14 do %> <li> PDF: <a href="/folien/dfhi_ra_ws_2007_2008_00<%= i.to_s %>.pdf">dfhi_ra_ws_2007_2008_00<%= i.to_s %>.pdf</a> </li> <% end %> </ol> <a href="topic_allocation/index">Zur Wahl des Vortragsthemas</a> </div> Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 13
    32. 32. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 14
    33. 33. 4. Rails Views <% Ruby code -- Keine Ausgabeersetzung %> <%= Ruby code -- Ausgabe ersetzt diesen Ausdruck %> <%# comment -- Alles nach dem # wird nicht ausgewertet, keine Ausgabe %> Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 14
    34. 34. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 15
    35. 35. 4. Rails Views • ERB ist ein Bestandteil von Ruby Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 15
    36. 36. 4. Rails Views • ERB ist ein Bestandteil von Ruby • ERB ist somit unabhängig von Rails Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 15
    37. 37. 4. Rails Views • ERB ist ein Bestandteil von Ruby • ERB ist somit unabhängig von Rails • ERB wird in Ruby on Rails Views verwendet Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 15
    38. 38. 4. Rails Views • ERB ist ein Bestandteil von Ruby • ERB ist somit unabhängig von Rails • ERB wird in Ruby on Rails Views verwendet • ERB kann in Ruby on Rails Fixtures verwendet werden Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 15
    39. 39. Einschub 4.5 ActionView Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 16
    40. 40. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 17
    41. 41. 4. Rails Views • ActionPack = ActionView & Action Controller Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 17
    42. 42. Einschub 4.5.1 Layouts Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 18
    43. 43. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 19
    44. 44. 4. Rails Views • app/views/application.html.erb Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 19
    45. 45. 4. Rails Views • app/views/application.html.erb • HTML-Schablone für alle Controller der Anwendung Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 19
    46. 46. 4. Rails Views • app/views/application.html.erb • HTML-Schablone für alle Controller der Anwendung • Action-spezifische Inhalte werden getrennt verwaltet Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 19
    47. 47. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 20
    48. 48. 4. Rails Views • Nützlich z.B. für die Platzierung von: Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 20
    49. 49. 4. Rails Views • Nützlich z.B. für die Platzierung von: • Header Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 20
    50. 50. 4. Rails Views • Nützlich z.B. für die Platzierung von: • Header • Footer Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 20
    51. 51. 4. Rails Views • Nützlich z.B. für die Platzierung von: • Header • Footer • Navigationsleiste Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 20
    52. 52. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 21
    53. 53. 4. Rails Views • Beispiel: Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 21
    54. 54. 4. Rails Views • Beispiel: rails test2 && cd test2 Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 21
    55. 55. 4. Rails Views • Beispiel: rails test2 && cd test2 script/generate Controller Profile index Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 21
    56. 56. 4. Rails Views • Beispiel: rails test2 && cd test2 script/generate Controller Profile index script/generate Controller User index Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 21
    57. 57. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 22
    58. 58. 4. Rails Views • Layouts Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 22
    59. 59. 4. Rails Views • Layouts • application.html Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 22
    60. 60. 4. Rails Views • Layouts • application.html • Spezielle Controller Layouts Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 22
    61. 61. 4. Rails Views • Layouts • application.html • Spezielle Controller Layouts • CSS einbinden Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 22
    62. 62. 4. Rails Views • Layouts • application.html • Spezielle Controller Layouts • CSS einbinden • Javascript einbinden Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 22
    63. 63. 4. Rails Views • Layouts • application.html • Spezielle Controller Layouts • CSS einbinden • Javascript einbinden • Javascript defaults Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 22
    64. 64. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 23
    65. 65. 4. Rails Views • Jede Action eines jeden Controllers kann eine zugehörige .html.erb Datei haben Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 23
    66. 66. 4. Rails Views • Jede Action eines jeden Controllers kann eine zugehörige .html.erb Datei haben • ProfileController - index /app/views/profile/index.html.erb Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 23
    67. 67. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 24
    68. 68. 4. Rails Views • Namenskonvention verbindet View und Controller Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 24
    69. 69. 4. Rails Views • Namenskonvention verbindet View und Controller • Abweichung der Namenskonvention möglich Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 24
    70. 70. 4. Rails Views • Namenskonvention verbindet View und Controller • Abweichung der Namenskonvention möglich • Aufruf der layout-Methode im Controller notwendig Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 24
    71. 71. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 25
    72. 72. 4. Rails Views class ProfileController < ApplicationController layout 'layouts/user' def index @my_class_var = "Auch in der View verfügbar" my_local_var = "Nicht in der View verfügbar" end end Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 25
    73. 73. Vorgriff 4.6 URLs Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 26
    74. 74. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 27
    75. 75. 4. Rails Views • Standard-Route in Rails für SEO-URLs: Rails 1.2.x /controller/action/id Rails 2.x REST /resource/id Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 27
    76. 76. 4.7 Helper Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 28
    77. 77. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 29
    78. 78. 4. Rails Views • ERB = Ruby in HTML Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 29
    79. 79. 4. Rails Views • ERB = Ruby in HTML • Helper = HTML in/aus Ruby Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 29
    80. 80. 4. Rails Views • ERB = Ruby in HTML • Helper = HTML in/aus Ruby • Ruby-Methoden generieren HTML Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 29
    81. 81. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 30
    82. 82. 4. Rails Views • Analog zu den Layouts gilt: Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 30
    83. 83. 4. Rails Views • Analog zu den Layouts gilt: • Methoden aus der application_helper.rb in allen Views verfügbar Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 30
    84. 84. 4. Rails Views • Analog zu den Layouts gilt: • Methoden aus der application_helper.rb in allen Views verfügbar • Methoden aus my_name_helper.rb nur in Views des my_name-Controllers verfügbar. Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 30
    85. 85. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 31
    86. 86. 4. Rails Views • Wichtige Default-Helper: Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 31
    87. 87. 4. Rails Views • Wichtige Default-Helper: •h Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 31
    88. 88. 4. Rails Views • Wichtige Default-Helper: •h • link_to Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 31
    89. 89. 4. Rails Views • Wichtige Default-Helper: •h • link_to • mail_to Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 31
    90. 90. 4. Rails Views • Wichtige Default-Helper: •h • link_to • mail_to • stylesheet_link_tag Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 31
    91. 91. 4. Rails Views • Wichtige Default-Helper: •h • link_to • mail_to • stylesheet_link_tag • Form Helper Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 31
    92. 92. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 32
    93. 93. 4. Rails Views • Wichtige Default-Helper Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 32
    94. 94. 4. Rails Views • Wichtige Default-Helper • error_message_on Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 32
    95. 95. 4. Rails Views • Wichtige Default-Helper • error_message_on • error_message_for Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 32
    96. 96. 4.8 Partials Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 33
    97. 97. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 34
    98. 98. 4. Rails Views • Folgt dem Rails-Prinzip „DRY“ = Don‘t repeat yourself Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 34
    99. 99. 4. Rails Views • Folgt dem Rails-Prinzip „DRY“ = Don‘t repeat yourself • Views lassen sich hierarchisch Anordnen Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 34
    100. 100. 4. Rails Views • Folgt dem Rails-Prinzip „DRY“ = Don‘t repeat yourself • Views lassen sich hierarchisch Anordnen • Eine View kann also eine andere beinhalten Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 34
    101. 101. 4. Rails Views • Folgt dem Rails-Prinzip „DRY“ = Don‘t repeat yourself • Views lassen sich hierarchisch Anordnen • Eine View kann also eine andere beinhalten • Sich wiederholende Teile lassen sich so in eigene Views auslagern Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 34
    102. 102. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 35
    103. 103. 4. Rails Views <h1>Partials</h1> <p>Vor dem Partial.</p> <%= render :partial => 'partial'%> <p>Nach dem Partial.</p> Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 35
    104. 104. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 36
    105. 105. 4. Rails Views <p>Im Partial</p> Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 36
    106. 106. 4.8.1 Variablenübergabe an Partials Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 37
    107. 107. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 38
    108. 108. 4. Rails Views • Mit :object kann dem Partial ein Objekt mitgegeben werden Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 38
    109. 109. 4. Rails Views • Mit :object kann dem Partial ein Objekt mitgegeben werden • Im Partial heißt das Objekt dann, wie das Partial heißt (siehe nachfolgendes Beispiel). Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 38
    110. 110. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 39
    111. 111. 4. Rails Views <h1>Partials</h1> <p>Vor dem Partial.</p> <%= render :partial => 'partial', :object => "Test" %> <p>Nach dem Partial.</p> Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 39
    112. 112. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 40
    113. 113. 4. Rails Views <p>Im Partial</p> <%= partial %> Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 40
    114. 114. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 41
    115. 115. 4. Rails Views • Mit :locals kann dem Partial ein Hash von Variablen mitgegeben werden. Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 41
    116. 116. 4. Rails Views • Mit :locals kann dem Partial ein Hash von Variablen mitgegeben werden. • Jeder Schlüssel wird dann zu einer lokalen Variable im zugehörigen Partial Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 41
    117. 117. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 42
    118. 118. 4. Rails Views <h1>Partials</h1> <p>Vor dem Partial.</p> <%= render :partial => 'other_partial', :locals => { :meine_var1 => "Test", :meine_var2 => "Noch ein Test" } %> <p>Nach dem Partial.</p> Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 42
    119. 119. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 43
    120. 120. 4. Rails Views <p>Im Partial</p> <p>Meine Var1: <%= meine_var1 %></p> <p>Meine Var2: <%= meine_var2 %></p> Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 43
    121. 121. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 44
    122. 122. 4. Rails Views • Mit :collection kann ein Partial für jede Variable in einer Liste gerendert werden. Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 44
    123. 123. 4. Rails Views • Mit :collection kann ein Partial für jede Variable in einer Liste gerendert werden. • Im Partial heißt das Objekt dann, wie das Partial heißt (siehe nachfolgendes Beispiel). Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 44
    124. 124. A.1 Literatur und Links Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 45
    125. 125. A.1 Literatur und Links Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 46
    126. 126. A.1 Literatur und Links • ERB http://ruby-doc.org/core/classes/ERB.html Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 46
    127. 127. A.1 Literatur und Links • ERB http://ruby-doc.org/core/classes/ERB.html • JSON http://json.org/json-de.html Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 46
    128. 128. A.1 Literatur und Links • ERB http://ruby-doc.org/core/classes/ERB.html • JSON http://json.org/json-de.html • Ruby - API http://www.ruby-doc.org/core/ Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 46
    129. 129. A.1 Literatur und Links • ERB http://ruby-doc.org/core/classes/ERB.html • JSON http://json.org/json-de.html • Ruby - API http://www.ruby-doc.org/core/ • Peepcode.com - Ruby on Rails Screencasts http://www.peepcode.com Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 46
    130. 130. ... to be continued Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 47

    ×