잊지 않겠습니다.

Rails의 장점

  1. Meta Programming : 프로그램이 다른 프로그램 코드를 만들어주는 기법.
  2. Active Record : DB에 객체를 저장하는 Active record framwork를 도입
  3. less setting : .NET 에서의 web.config 등의 설정 파일들이 거의 필요 없게 된다.
  4. auto unittest code : meta programming을 통해 생성된 코드는 모두 단위 테스트를 갖는다.
  5. development, test, service 환경의 완벽 제공

   

Rails Project의 구조

  • app : application component를 담고 있다. model, view, controller에 해당되는 각각의 Directory가 존재한다.
  • components : model, view, controller 들의 작은 application이 component화 되어 저장되어 있다.
  • config : rails application에 대한 설정 코드 값을 가지고 있다.
  • db : db를 access 하는 model 객체를 가지고 있다.
  • doc : 자동으로 RubyDoc을 생성시킨다.
  • lib : 외부 library를 제외한 모든 라이브러리들이 저장
  • log : Error log의 자동 저장 folder
  • public : javascirpt, image, css, html 파일과 같이 변하지 않는 정적 web resource를 넣어두는 디랙토리
  • script : rails application에서 사용하는 tool과 scirpt를 담고 있다.
  • test : test code가 위치
  • tmp : 임시 directory

   

Rails Project의 시작

rails chapter-1

: chatper-1이라는 directory가 생성되고, 그에 대한 모든 파일들이 generate

   

Controller and View Create

ruby script/generate controller Greeting index

controller와 view가 모두 생성된다.

   

Example Controller and View

class GreetingController < ApplicationController

  def index
    @age = 8
    @table = {"headings" =>["addend", "addend", "sum"],
                    "body" => [[1,1,2], [1,2,3], [1,2,4]] }
  end
end

   

<h1>Simple expression</h1>
<p> Tommy is <%= @age %> old </p>

<h1>Simple Expression</h1>
<% for i in 1..5 %>
  <p> Heading number <%= i %> </p>
<% end %>


<h1>A simple table</h1>
<table>
  <tr>
    <% @table["headings"].each do |head| %>
      <td>
        <b><%= head %></b>
      </td>
    <% end %>
  </tr>
  <% @table["body"].each do |row| %>
    <tr>
      <% row.each do |col| %>
        <td>
          <%= col%>
        </td>
      <% end %>         
    </tr>
  <% end %>
</table> 

Posted by Y2K
,