「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回 ==
表示オプション
横に並べて表示:
変化行の前後のみ表示: