ル微王徴

アプリの雛型を作る

最終更新:

rubyocho

- view
メンバー限定 登録/ログイン

メモ帳アプリの雛型を作る

memoディレクトリに雛形を生成

$ rails --database=sqlite3 memo

rakefile

  • C言語のmakefileのようなもの
  • DBのバージョン管理やドキュメント生成や、テストの実行を行う。
  • rake: makeに相当するコマンド
    $ rake stats
    (in /home/sawa/memo)
    +-------------------+-------+-----+---------+---------+-----+-------+
    | Name              | Lines | LOC | Classes | Methods | M/C | LOC/M |
    +-------------------+-------+-----+---------+---------+-----+-------+
    | Controllers       |     7 |   3 |       1 |       0 |   0 |     0 |
    | Helpers           |     3 |   2 |       0 |       0 |   0 |     0 |
    | Models            |     0 |   0 |       0 |       0 |   0 |     0 |
    | Libraries         |     0 |   0 |       0 |       0 |   0 |     0 |
    | Components        |     0 |   0 |       0 |       0 |   0 |     0 |
    | Integration tests |     0 |   0 |       0 |       0 |   0 |     0 |
    | Functional tests  |     0 |   0 |       0 |       0 |   0 |     0 |
    | Unit tests        |     0 |   0 |       0 |       0 |   0 |     0 |
    +-------------------+-------+-----+---------+---------+-----+-------+
    | Total             |    10 |   5 |       1 |       0 |   0 |     0 |
    +-------------------+-------+-----+---------+---------+-----+-------+
      Code LOC: 5     Test LOC: 0     Code to Test Ratio: 1:0.0
    
  • Rakefileの中身
    require(File.join(File.dirname(__FILE__), 'config', 'boot'))
    require 'rake'
    require 'rake/testtask'
    require 'rake/rdoctask'
    require 'tasks/rails'
    

configディレクトリ

  • config/boot.rb
    • Railsアプリの起動時に読み込まれるファイルで、デフォルト値の設定など
  • config/environment.rb
    • 環境設定ファイル
  • config/database.yml
    # SQLite version 3.x
    #   gem install sqlite3-ruby
    development:
      adapter: sqlite3
      database: db/development.sqlite3
      timeout: 5000
    test:
      adapter: sqlite3
      database: db/test.sqlite3
      timeout: 5000
    production:
      adapter: sqlite3
      database: db/production.sqlite3
      timeout: 5000
    
  • config/route.rb
    • どのURLにアクセスが来た場合に、どのコントローラが呼ばれるかを定義
       ActionController::Routing::Routes.draw do |map|
       map.connect ':controller/:action/:id.:format'
       map.connect ':controller/:action/:id'
      

appディレクトリ

  • 自分が組むプログラムは、基本的にここへ入れる
  • モデル(M):modulesディレクトリ
    • データ構造やDBへのアクセスを司る
  • ビュー(V):viewsディレクトリ、helpディレクトリ
    • 表示を行う
  • コントローラ(C):contorollersディレクトリ
    • これらを繋げる

dbディレクトリ

  • データベースに関するファイルを保存

scriptディレクトリ

  • アプリ開発で使うコマンドを収めている。
  • Rubyの命令を実行できるコンソール
    ./script/console  
    >>
    
  • 指定したスクリプトを実行。cronなどに仕込んで実行する。
    ./script/runnner
    
  • アプリを自動生成するジェネレータ。雛形を生成する。
    ./script/generate
    
  • 削除する
    ./script/destoroy
    
  • プラグイン作成
    ./script/plugin
    

publicディレクトリ

  • 公開するファイルを保存
  • 外部からアクセスがあった場合のTop Dir(Document Rootに相当)
  • HTML、画像、JavaScript、CSS等を置く
  • HTMLファイルは、.htmlを省略可能
  • http://localhost:3000/ は、public/index.html が表示

logディレクトリ

  • アプリの実行時ログ

testディレクトリ

  • UnitTestを定義

docディレクトリ

  • RDOC*形式で埋め込んだコメントを元にリファレンスを自動生成

libディレクトリ

venderディレクトリ

  • プラグインは、vender/plugins に置かれる

componentsディレクトリ

ウィキ募集バナー