「rubywavesチュートリアル2」の編集履歴(バックアップ)一覧はこちら

rubywavesチュートリアル2 - (2008/05/18 (日) 16:46:10) の1つ前との変更点

追加された行は緑色になります。

削除された行は赤色になります。

技術評論社のチュートリアルをedgeで。 http://gihyo.jp/dev/serial/01/waves == 第1回 == サクっと省略 == 第2回 == サクっと省略 == 第2.5回 == edgeのための準備: * githubをgem レポジトリに追加 (gem のバージョンが1.1.1以上が必要) gem update --system gem source -a http://gems.github.com/ * autocodeをupdate gem install dyoder-autocode gems/autocode/lib/autocode.rbをリネーム(old_autocode.rbとか) dyoder-autocode/lib/autocode.rb を gems/autocode/lib/autocode.rb にコピー * rubywaves を edge に http://github.com/dyoder/waves/tree/master から最新の waves をダウンロード ダウンロードしたファイルを解凍。 gems/waves-0.7.3配下をばっさり削除。 解凍したファイルのdyoder-waves-<ハッシュ>配下を gems/waves-0.7.3配下にコピー == 第3回 == * アプリケーションの雛形を作成 waves tw * バグ対応。textileメソッドの日本語対応以外は直っている * テーブル作成 tw/configurations/development.rb を編集 :database => 'tw' を 'db/tw.sqlite' に。dbディレクトリ作成する。 firefoxのSQLiteManagerが便利。 New Database tw/db/tw.sqlite になるように。 * マイグレーション rake schema:migration name=initial_schema マイグレーションファイル編集 rake schema:migrate * waves-console で動作確認する。 created_on と updated_on と両方とも nil になってる。? !null があると変な動きになる! *モデルのデフォルト動作を変更する。 created_on と updated_on が null になるのを何とかする。 rake generate:model name=word が出来ない。 (model/default.rb がないから。) default動作をどこで規定しているか不明なので、modelを作る。 <tw/models/word.rb> module Tw module Models class Word < Default after_create do update_values(:created_on => Time.now) end before_save do update_values(:updated_on => Time.now) end end end end Sequel::Model#set が deprecated。sequel 2.0 で削除らしい。かわりに #update_values を使うこと。 * view を作成する。 template/word/list.mab template/word/summary.mab * テスト実行する。 tw> waves-server http://127.0.0.1:3000/wordsにアクセス * エントリ追加のためにマッピングを変更する。 Waves::Mapping をextend するようになっている。 use が resource に変更になっている。 contoroller の記述方法が変更になっている?  <configuration/mapping.rb>に追加 extend Waves::Mapping path %r(^/words/?$), :method=>:post do resource(:word) do controller { word = create; redirect('/words') } end end *コントローラのデフォルト動作を変更する。 rake generate:controller name=word が出来ない。 (controller/default.rb がないから。) default動作をどこで規定しているか不明なので、controllerを作る。 name カラムは作ってないので、rails っぽく id でアクセスするようにする。 model[ :id => name ] の :id をアクセスしたいカラム名に変更すればそのカラムでのキーになる。 <controllers/word.rb>を作成 module Tw module Controllers class Word < Default def find( name ); model[ :id => name ] or not_fount; end end end end == 第4回 == == 第5回 ==
技術評論社のチュートリアルをedgeで。 http://gihyo.jp/dev/serial/01/waves == 第1回 == サクっと省略 == 第2回 == サクっと省略 == 第2.5回 == edgeのための準備: * githubをgem レポジトリに追加 (gem のバージョンが1.1.1以上が必要) gem update --system gem source -a http://gems.github.com/ * autocodeをupdate gem install dyoder-autocode gems/autocode/lib/autocode.rbをリネーム(old_autocode.rbとか) dyoder-autocode/lib/autocode.rb を gems/autocode/lib/autocode.rb にコピー * rubywaves を edge に http://github.com/dyoder/waves/tree/master から最新の waves をダウンロード ダウンロードしたファイルを解凍。 gems/waves-0.7.3配下をばっさり削除。 解凍したファイルのdyoder-waves-<ハッシュ>配下を gems/waves-0.7.3配下にコピー == 第3回 == * アプリケーションの雛形を作成 waves tw * バグ対応。textileメソッドの日本語対応以外は直っている * テーブル作成 tw/configurations/development.rb を編集 :database => 'tw' を 'db/tw.sqlite' に。dbディレクトリ作成する。 firefoxのSQLiteManagerが便利。 New Database tw/db/tw.sqlite になるように。 * マイグレーション rake schema:migration name=initial_schema マイグレーションファイル編集 rake schema:migrate * waves-console で動作確認する。 created_on と updated_on と両方とも nil になってる。? !null があると変な動きになる! *モデルのデフォルト動作を変更する。 created_on と updated_on が null になるのを何とかする。 rake generate:model name=word が出来ない。 (model/default.rb がないから。) default動作をどこで規定しているか不明なので、modelを作る。 <tw/models/word.rb> module Tw module Models class Word < Default after_create do update_values(:created_on => Time.now) end before_save do update_values(:updated_on => Time.now) end end end end Sequel::Model#set が deprecated。sequel 2.0 で削除らしい。かわりに #update_values を使うこと。 * view を作成する。 template/word/list.mab template/word/summary.mab * テスト実行する。 tw> waves-server http://127.0.0.1:3000/wordsにアクセス * エントリ追加のためにマッピングを変更する。 Waves::Mapping をextend するようになっている。 use が resource に変更になっている。 contoroller の記述方法が変更になっている?  <configuration/mapping.rb>に追加 extend Waves::Mapping path %r(^/words/?$), :method=>:post do resource(:word) do controller { word = create; redirect('/words') } end end *コントローラのデフォルト動作を変更する。 rake generate:controller name=word が出来ない。 (controller/default.rb がないから。) default動作をどこで規定しているか不明なので、controllerを作る。 name カラムは作ってないので、rails っぽく id でアクセスするようにする。 model[ :id => name ] の :id をアクセスしたいカラム名に変更すればそのカラムでのキーになる。 <controllers/word.rb>を作成 module Tw module Controllers class Word < Default def find( name ); model[ :id => name ] or not_fount; end end end end http://127.0.0.1:3000/word/1 にアクセスして確認。 == 第4回 == == 第5回 ==

表示オプション

横に並べて表示:
変化行の前後のみ表示:
記事メニュー
人気記事ランキング
目安箱バナー