Rails For Designers

  • Model : �Y料及�理�Y料�r商�I��, 通常���①Y料�Υ骒顿Y料��
  • Controller : 主要的��用程式��, 通常程式��利用一些���鬟f�o view 使用
    ex: @title, @article…
  • View �C 使用者接�|到的部份, 不�是�W�, xml 都算是 view 的一�N. ��然 Web �O�人�T最常接�|�@一部份!
  • 一般 Rails ��依一定方法拆解 url, 以 [url]http://localhost/articles/show/2[/url] �槔�
    • “articles” ��送�o ArticlesController �理,
      程式�n案在 app/controllers/articles_controller.rb
    • 接下�淼� “show” �Q作 action, Rails ���绦� ArticlesController �� show �@�� method, 去找到�� 2 �@��文章, 然後藉著某����底�你的 view 可以使用, 例如: @article
    • 最後 Rails 然後依 “show” action, �著找到在 app/views/articles 下的 show.rhtml �懋a生�W��热�
  • Views �C Web �O�人�T最需要了解的部份
    • Builder Templates(.rxml) 是用�懋a生 xml �n案
    • RHTML Templates(.rhtml) 是用�懋a生�W��热�, Web �O�人�T大部分都是接�|到�@一部份
  • RHTML
    其�� RHTML 和一般�W�一��, 只是特�e�� <% ... %>, <%= ... %> 交�o ruby �理而已, 跟 php <?, <?= 一�右馑�
    • <% ... %> �由 ruby 直接�绦�
    • <%= ... %> �由 ruby 直接�绦嗅��把�Y果�出到�W�
  • Layouts, 基本上��於每�� action, 都可以有���的 view. 但大部分 views 有很多都是相同的部分, �S�o起�硪膊蝗菀�, 利用 Rails Layout �C制可以�事情��我稽c
    • 每�� Rails ��用程式可有一�� layout, application.rhtml app/views/layouts/application.rhtml
      
      <?xml version="1.0" encoding="UTF-8"?> <!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"> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> <%= javascript_include_tag :defaults %> <title><%= @title || "my www" %></title> </head> <body> <div id="header"> Header </div> <div id="content"> <%= @content_for_layout %> </div> <div id="footer"> Footer </div> </body> </html> 
    • 每�� controller 也可以有自己的 layout, 例如: articles.rhtml app/views/layouts/articles.rhtml
    • 透�^上面 @content_for_layout ���, Rails ����� action �a生的�W�的�热葺�出
    • 所以我��的 show.rhtml 就像是
      
      <h1><%= @article.title %><h1> ... 
  • Partials, 你也可以藉著 render :partial 指令�a生一小部分的�W�, �你能共用一些�W�, Rails ���湍爿d入 render :partial 後指定的�n名, 其�n名�得要以 ”_” �_�^, 例:
    app/views/_header.rhtml
    app/views/_footer.rhtml
    
    <div id="header"> <%= render :partial => 'header' %> </div> ... <div id="header"> <%= render :partial => 'footer' %> </div> 
  • Componets 可以�我��共用�W�及一些��, 例如:
    
    <div id="sidebar"> <%= render_compoment :controller => :link, :action => get_links %> </div> 
  • Helpers, Rails 提供�S多的 helper 指令能�湍闾�理�出���}, 通常程式原��先完成�@一部份����U容易猜出�硭�要做甚�N, 例如: Form �理, 日期�出, �底�, 金�~…
    • stylesheet_link_tag
      
      <%= stylesheet_link_tag 'application' %> �a生的�W��热�: ���a生的�W��热�: <link href="/stylesheets/application.css" media="screen" rel="Stylesheet" type="text/css" /> 
    • javascript_include_tag
      
      <%= javascript_include_tag :defaults %> ���a生的�W��热�: <script src="/javascripts/prototype.js" type="text/javascript"></script> <script src="/javascripts/effects.js" type="text/javascript"></script> <script src="/javascripts/dragdrop.js" type="text/javascript"></script> <script src="/javascripts/controls.js" type="text/javascript"></script> 
    • render, �a生的部份的�W��热�
    • link_to, 用�懋a生 url
  • 好好善用 prototype 及 scriptaculous ��� javascript 提供的 effect …等功能
  • 摘自:[url]http://anw.stikipad.com/ocean/show/RailsForDesigners[/url]

你可能感兴趣的:(敏捷开发,Ruby,Rails,DSL,ror)