SlideShare ist ein Scribd-Unternehmen logo
1 von 130
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
4. Rails Views



Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                        2
4. Rails Views




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                        3
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
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
4. Rails Views




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                        5
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
4.2 View Formate



Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                        6
4. Rails Views




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                        7
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
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
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
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
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
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
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
4. Rails Views                                                                    Einschub




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                        9
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
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
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
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
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
4. Rails Views                                                                    Einschub




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                       10
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
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
Einschub



                               4.4 ERB



Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                       11
4. Rails Views




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                       12
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
4. Rails Views




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                       13
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
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
4. Rails Views




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                       14
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
4. Rails Views




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                       15
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
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
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
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
Einschub



        4.5 ActionView



Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                       16
4. Rails Views




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                       17
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
Einschub



               4.5.1 Layouts



Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                       18
4. Rails Views




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                       19
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
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
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
4. Rails Views




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                       20
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
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
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
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
4. Rails Views




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                       21
4. Rails Views
• Beispiel:




    Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                           21
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
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
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
4. Rails Views




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                       22
4. Rails Views
• Layouts




    Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                           22
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
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
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
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
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
4. Rails Views




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                       23
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
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
4. Rails Views




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                       24
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
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
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
4. Rails Views




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                       25
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
Vorgriff



                           4.6 URLs



Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                       26
4. Rails Views




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                       27
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
4.7 Helper



Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                       28
4. Rails Views




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                       29
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
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
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
4. Rails Views




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                       30
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
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
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
4. Rails Views




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                       31
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
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
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
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
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
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
4. Rails Views




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                       32
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
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
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
4.8 Partials



Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                       33
4. Rails Views




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                       34
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
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
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
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
4. Rails Views




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                       35
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
4. Rails Views




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                       36
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
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
4. Rails Views




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                       38
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
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
4. Rails Views




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                       39
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
4. Rails Views




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                       40
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
4. Rails Views




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                       41
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
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
4. Rails Views




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                       42
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
4. Rails Views




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                       43
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
4. Rails Views




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                       44
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
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
A.1 Literatur und Links



  Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                         45
A.1 Literatur und Links




 Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                        46
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
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
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
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
... to be continued


Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de

                                                       47

Weitere ähnliche Inhalte

Empfohlen

Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 

Empfohlen (20)

Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 

Ruby on rails vorlesung 4 Rails Views

  • 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. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 2
  • 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. 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. 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. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 5
  • 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. 4.2 View Formate Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 6
  • 9. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 7
  • 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. 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. 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. 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. 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. 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. 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. 4. Rails Views Einschub Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 9
  • 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. 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. 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. 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. 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. 4. Rails Views Einschub Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 10
  • 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. 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. Einschub 4.4 ERB Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 11
  • 27. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 12
  • 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. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 13
  • 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. 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. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 14
  • 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. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 15
  • 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. 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. 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. 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. Einschub 4.5 ActionView Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 16
  • 40. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 17
  • 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. 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. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 19
  • 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. 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. 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. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 20
  • 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. 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. 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. 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. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 21
  • 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. 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. 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. 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. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 22
  • 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. 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. 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. 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. 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. 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. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 23
  • 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. 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. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 24
  • 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. 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. 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. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 25
  • 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. Vorgriff 4.6 URLs Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 26
  • 74. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 27
  • 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. 4.7 Helper Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 28
  • 77. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 29
  • 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. 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. 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. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 30
  • 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. 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. 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. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 31
  • 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. 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. 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. 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. 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. 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. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 32
  • 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. 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. 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. 4.8 Partials Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 33
  • 97. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 34
  • 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. 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. 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. 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. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 35
  • 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. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 36
  • 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. 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. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 38
  • 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. 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. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 39
  • 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. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 40
  • 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. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 41
  • 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. 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. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 42
  • 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. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 43
  • 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. 4. Rails Views Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 44
  • 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. 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. 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. 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. 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. 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. 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. 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. ... to be continued Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 47

Hinweis der Redaktion

  1. Anlegen eines Beispielprojekts.
  2. ERBhttp://ruby-doc.org/core/classes/ERB.html
  3. Hauptsache es ist Ruby drin :-)
  4. Hauptsache es ist Ruby drin :-)
  5. Hauptsache es ist Ruby drin :-)
  6. Hauptsache es ist Ruby drin :-)
  7. Hauptsache es ist Ruby drin :-)
  8. Hauptsache es ist Ruby drin :-)
  9. http://json.org/json-de.html
  10. http://json.org/json-de.html
  11. http://json.org/json-de.html
  12. http://json.org/json-de.html
  13. http://json.org/json-de.html
  14. http://json.org/json-de.html
  15. http://json.org/json-de.html
  16. Rails 2.0
  17. For-Schleife, Beispiel f&amp;#xFC;r einen Code-Block
  18. For-Schleife, Beispiel f&amp;#xFC;r einen Code-Block
  19. Rails Projekt erzeugen index.html l&amp;#xF6;schen script/generate controller User index HTML zeigen --&gt; keine Grundstruktur --&gt; Layout ben&amp;#xF6;tigt
  20. Rails Projekt erzeugen index.html l&amp;#xF6;schen script/generate controller User index HTML zeigen --&gt; keine Grundstruktur --&gt; Layout ben&amp;#xF6;tigt
  21. Rails Projekt erzeugen index.html l&amp;#xF6;schen script/generate controller User index HTML zeigen --&gt; keine Grundstruktur --&gt; Layout ben&amp;#xF6;tigt
  22. Rails Projekt erzeugen index.html l&amp;#xF6;schen script/generate controller User index HTML zeigen --&gt; keine Grundstruktur --&gt; Layout ben&amp;#xF6;tigt
  23. HTML zeigen (/profile) --&gt; keine Grundstruktur --&gt; Layout ben&amp;#xF6;tigt application.html - Layout anlegen --&gt; f&amp;#xFC;r /profile &amp; /user zeigen user.html anlegen --&gt; Abweichung --&gt; f&amp;#xFC;r /profile &amp; /user zeigen
  24. HTML zeigen (/profile) --&gt; keine Grundstruktur --&gt; Layout ben&amp;#xF6;tigt application.html - Layout anlegen --&gt; f&amp;#xFC;r /profile &amp; /user zeigen user.html anlegen --&gt; Abweichung --&gt; f&amp;#xFC;r /profile &amp; /user zeigen
  25. HTML zeigen (/profile) --&gt; keine Grundstruktur --&gt; Layout ben&amp;#xF6;tigt application.html - Layout anlegen --&gt; f&amp;#xFC;r /profile &amp; /user zeigen user.html anlegen --&gt; Abweichung --&gt; f&amp;#xFC;r /profile &amp; /user zeigen
  26. HTML zeigen (/profile) --&gt; keine Grundstruktur --&gt; Layout ben&amp;#xF6;tigt application.html - Layout anlegen --&gt; f&amp;#xFC;r /profile &amp; /user zeigen user.html anlegen --&gt; Abweichung --&gt; f&amp;#xFC;r /profile &amp; /user zeigen
  27. Demonstration!
  28. Demonstration!
  29. Demonstration!
  30. Demonstration!
  31. Demonstration!
  32. Profile Controller verwendet das Layout des User Controllers Demonstriere Verf&amp;#xFC;gbarkeit der Variablen
  33. Demonstration!
  34. Demonstration!
  35. Demonstration!
  36. &amp;#xE4;hnlich include in PHP
  37. &amp;#xE4;hnlich include in PHP
  38. &amp;#xE4;hnlich include in PHP
  39. &amp;#xE4;hnlich include in PHP
  40. Man beachte, dass hier der _ von _partial weggelassen wird!
  41. Demonstration
  42. &amp;#xE4;hnlich include in PHP
  43. &amp;#xE4;hnlich include in PHP
  44. Demonstration
  45. Man beachte die Benennung der Variable. Die Rotf&amp;#xE4;rbung zeigt den Zusammenhang.
  46. &amp;#xE4;hnlich include in PHP
  47. &amp;#xE4;hnlich include in PHP
  48. Demonstration
  49. Man beachte die Benennung der Variable. Die Rotf&amp;#xE4;rbung zeigt den Zusammenhang.
  50. &amp;#xE4;hnlich include in PHP
  51. &amp;#xE4;hnlich include in PHP
  52. Symbole: etwas speichersparender als Strings, oft als Hash-Keys verwendet