Ruby on Rails SS09 06

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Ruby on Rails SS09 06 - Presentation Transcript

    1. Daniel Dengler web developer Ruby on Rails Workshop SS 2009 „Ruby on Rails“ and the Rails-Logo are registered trademarks of David Heinemeier Hansson – www.rubyonrails.org
    2. 6 Ruby on Rails Nachtrag: Scaffolding ActionView Exkurs: CSS Layouts
    3. Nachtrag: Scaffolding automatische Generierung von Controllern und Views aus Datenmodellen ruby script/generate scaffold ModelName Die generierten Controller und Views sind keine fertige Anwendung, aber eine gute Grundlage um eine Anwendung daraus zu entwickeln
    4. Demo
    5. ActionView Layouts & Formulare
    6. Daten uss Controller View @var
    7. Layouts Controller View @var
    8. Layouts Layout Controller View (etwa views/layouts/application.html.erb) @var
    9. Views Layout Controller View View @var (etwa views/home/index.html.erb)
    10. Partials Layout View Partial (etwa views/home/_project.html.erb) Controller View @var
    11. Partials Layout View Partial (etwa views/home/_project.html.erb) Controller View @var Partial (etwa views/home/_project.html.erb)
    12. Demo
    13. Formulare Zweck: Eingabe von Daten API Module: • ActionView::Helpers::FormHelper • ActionView::Helpers::FormTagHelper • ActionView::Helpers::FormOptionsHelper • ActionView::Helpers::DateHelper • ActionView::Helpers::ActiveRecordHelper
    14. FormHelper check_box elds_for le_ eld form_for hidden_ eld label password_ eld radio_button text_area text_ eld
    15. FormTagHelper check_box_tag elds_for_tag le_ eld_tag form_tag hidden_ eld_tag label_tag password_ eld_tag radio_button_tag text_area_tag text_ eld_tag
    16. FormHelper vs. FormTagHelper Beide: • liefern die bekannten HTML-Eingabe-Felder FormHelper • kennt das aktuell zu bearbeitende Objekt • wird häu g in einem Form-Block angewandt FormTagHelper (wird nicht weiter im Kurs behandelt) • kennt nicht das aktuell zu bearbeitende Objekt
    17. FormHelper vs. FormTagHelper FormHelper • text_ eld(object_name, method, options = {}) FormTagHelper • text_ eld_tag(name, value = nil, options = {})
    18. FormHelper <% form_for(@project) do |f| %> <%= f.error_messages %> <p> <%= f.label :title %><br /> <%= f.text_field :title %> </p> <p> <%= f.submit 'Create' %> </p> <% end %>
    19. FormTagHelper <% form_tag(projects_path) do %> <%= error_messages_for :project %> <p> <%= label_tag \"project[title]\", \"Title\" %><br /> <%= text_field_tag \"project[title]\", @project.title %> </p> <p> <%= submit_tag 'Create' %> </p> <% end %>
    20. <form action=\"/projects\" class=\"new_project\" id=\"new_project\" method=\"post\"> <div style=\"margin:0;padding:0\"> <input name=\"authenticity_token\" type=\"hidden\" value=\"cAVj0EkF9iU5HfBHgto70FqYkVQcahBgR0Aaog6igH8=\" /> </div> <p> <label for=\"project_title\">Title</label><br /> <input id=\"project_title\" name=\"project[title]\" size=\"30\" type=\"text\" /> </p> <p> <input id=\"project_submit\" name=\"commit\" type=\"submit\" value=\"Create\" /> </p> </form>
    21. EXKURS CSS Layouts
    22. Basis • Vorgefertigtes Framework • Eigenes einfaches Framework • Kein Framework
    23. Vorgefertigtes Framework Pro • solide Basis • viele Features • gut geeignet für Einsteiger Contra • unnötig großer Umfang • tiefgreifende Anpassungen oft schwierig
    24. Eigenes einfaches Framework Pro • sehr individuell • geringer Umfang Contra • nicht für Einsteiger geeignet
    25. Grundlegender Aufbau Framework
    26. Grundlegender Aufbau reset.css alle Browser Styles entfernen
    27. Grundlegender Aufbau reset.css base.css Layout-Definitionen
    28. Grundlegender Aufbau reset.css base.css pluginA.css pluginB.css pluginC.css Plugin Plugin Plugin
    29. Grundlegender Aufbau reset.css base.css pluginA.css pluginB.css pluginC.css application.css Anpassungen der Applikation
    30. Grundlegender Aufbau reset.css Ladereihenfolge base.css pluginA.css pluginB.css pluginC.css application.css Anpassungen der Applikation
    31. Bekannte Frameworks • 960 Grid System • Blueprint CSS • The Yahoo! User Interface Library (YUI)
    32. 960.gs
    33. blueprintcss.org
    34. developer.yahoo.com/yui/
    35. 960 Grid System Breite: 960 Pixel Spalten: 12 oder 16 Dateien: • reset.css (Browser-Reset) • text.css (Basis-Text-Styles) • 960.css (Basis-Layout)
    36. Die verwendeten Stylesheets <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/ xhtml1/DTD/xhtml1-strict.dtd\"> <html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\"> <head> <meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" /> <title>960 Grid System &mdash; Demo</title> <link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"css/reset.css\" /> <link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"css/text.css\" /> <link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"css/960.css\" /> <link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"css/application.css\" /> </head> <body> ... </body> </html>
    37. Container & Spalten <div class=\"container_12\"> <div class=\"grid_3\"> ... </div> <div class=\"grid_9\"> ... </div> </div>
    38. body
    39. body container_12
    40. body container_12 grid_3 grid_9 ... ...
    41. Untergliederung <div class=\"container_12\"> <div class=\"grid_3\"> ... </div> <div class=\"grid_9\"> <div class=\"grid_3 alpha\"> ... </div> <div class=\"grid_3\"> ... </div> <div class=\"grid_3 omega\"> ... </div> </div> </div>
    42. body container_12 grid_3 grid_9 ... ...
    43. body container_12 grid_3 grid_9 ... ... grid_3 grid_3 grid_3 alpha omega ... ... ...
    44. Demo
    45. Links Rails Guides & Railscasts
    46. guides.rubyonrails.org
    47. railscasts.com
    48. ?

    + Daniel DenglerDaniel Dengler, 6 months ago

    custom

    206 views, 0 favs, 0 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 206
      • 206 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 0
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories