※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

開発の流れ

  1. waves <アプリケーション名>
  • <waves_apps_root>\configurations\default.rb編集
  • rake schema:migration name=initial_schema
  • <waves_apps_root>\schema\編集
  • rake schema:migrate
  1. ビューの作成
  • mkdir templates/<モデル名>
  • list.mab
  • add.mab
  • edit.mab
  1. モデルの作成
  • rake generate:model name=<モデル名>
  • <waves_apps_root>\models\編集
  • 関連追加
  • migration
  1. マッピングの作成
  • <waves_apps_root>\configuration\mapping.rb編集
  1. RACK設定変更(static public files : css javascript)
  • <waves_apps_root>\configuration\development.rb編集


waves-server

  • <waves-home>\lib\runtime\server.rb
  • <waves_apps_root>\lib\startup.rb
  • <waves_apps_root>\lib\<アプリケーション名>
    • Sequel
    • AutoLoad
    • configurations
    • database
    • controllers
    • models
    • views

...


waves-server OPTION

-p --port=PORT
-h --host=HOST
-c --config=CONFIG
-D --dir=DIR
-d --daemon *mswin32ではforkがらみで動かない
-u --debugger
  • windows だとオプション利かない?



rubyは で囲むと文字列扱い ""で囲むと変数展開してくれる






チュートリアル翻訳はma2さんの日記にわかりやすくあるので省略。 流れを記載して、0.7.3rc2での違いとかsqlite使うメモとか追加。

tutorial-1

  • アプリケーション雛形作成
waves blog
configurations/development.rb 編集
 database :adapter を変更 'mysql' から 'sqlite'
          :database をblog.sqliteに変更
  • データベースファイル作成
firefoxのSQLiteManager使うとお手軽。
アプリケーションルートにblog.sqliteで作成。
  • migration
rake schema:migration name=initial_schema
scheme/migrations/001_initial_schema.rb 編集
 (down メソッドも忘れずに)
rake schema:migrate
  • waves-consoleで確認
waves-console

デフォルトはSequelの文法に慣れると幸せ。ActiveRecodeと比べるとデフォルトで主キーが使えるくらい?ユーザ数が違うのであまりメリットないかも。 Ambitionに将来を感じるがサポートされない。ParseTree使うとruby1.9で動かないらしい。waves でも ParseTree を dependent してたような...

tutorial-2

  • view作成
templates/entry ディレクトリ作成
templates/entry/list.mab 作成
 layout ヘルパでデフォルトレイアウトを設定する。
 @entries はlistビューなので自動で設定される。
 view ヘルパで呼び込むレイアウトを入れ子に出来る。
templates/entry/summary.mab 作成
templates/entry/show.mab 作成
ブラウザで /entries にアクセスすると template/entry/list.mabが呼ばれる。
ブラウザで /entry/#name にアクセスすると template/entry/show.mabが呼ばれ、Entry テーブルから #name のレコードを表示する。
templates/entry/editor.mab 作成

tutorial-3

  • model controller mapping作成
rake generate:model name=entry
 (Modelが無くても動いていた!)
 one_to_many :comment :class = xxx
 外部キーになる側のmodelに :keyをつける
 (:from が deplicate で :classに変更される)
rake generate:model name=comment
 one_to_one :entry :class = xxx
templates/entry/show.mab 編集
view ヘルパでcomment入力欄とコメント一覧を設定
templates/comment/add.mab 作成
 RESTなので新規の場合はPOST
 hiddenフィールドで :key に指定したフィールドを設定
templates/comment/list.mab 作成


configurations/mapping.rb 編集
# your custom rules go here 以下に新しいルールを記述する
lib/mapping/mapping.rb に例がある

created_onがnullになるので Model クラスに before_save を参考に after_create を追加する。


tutorial-4

  • css javascript

tutorial-5

  • login