cod.note | jhs.note (cod.note@g91)
2010-02-14
Rails基礎文法最速マスター
題材: メモツール
簡単なメモを登録削除更新したりできるWebアプリ作りましょう
Railsのインストール
sqlite3-rubyも必要ですが、ここでは割愛します
プロジェクトの作成
$ rails memo
./memoにrailsの基盤が展開される
MVC最速マスター
Model | データーベースの操作に使う。独自のメソッドを定義したりリレーションシップを楽に扱えたりする RailsだとActiveRecordが担当する |
View | RailsだとWebへの表示を担当する。この場合erbやHamlが該当する。標準だとerb。ActiveViewが担当する |
Controller | 表示などのコントロールを担当する。データの登録などはここ。ようするにWebアプリの頭脳 ActionControllerが担当するはず |
Scaffold最速マスター
Scaffoldという雛形(作成編集表示削除一覧の機能をもつ)を作成しそれをいじって高速な開発ができる
最近の2.x系Railsだとモデルとmigrateも(後述)最速作成してくれるのでとてもvenry.
注意: script/*の実行はWindowsだとruby script/としないと実行できない
が基本形。名前は単数形(Railsは単数形複数形を使い分ける)
を実行する
migrate
db/migrateにmigrateファイルというのが作成される。
データーベースの構造のバージョン管理的な感じで、
でデータベースにテーブルなどががりがり生成される
生成されたファイル群
app/controllers/*_controller.rb | コントローラ |
app/models/*.rb | モデル |
app/views/*/*.html.erb | ビュー |
見るだけでだいたいわかる。直感で。
実行
$ script/server
ポート番号3000でテスト用の鯖が起動します
/コントローラ名/ID/アクション
/コントローラ名/アクション
がURLになります。コントローラは基本的に複数形らしい(scaffoldだと)
あとはすきかっていじりましょう
認証
BASIC認証を使って制限を加えましょう。ただし書き込みのみ。
app/controllers/memos_controller.rbを編集する
1,2行目の間に
before_filter :auth, :only => [:create,:destroy,:update,:new,:edit]
を挟み込む。
処理の前にauthメソッドを実行、ただしcreate,destroy,update,new,edit以外では実行しない
という意味
:onlyから跡を消せば全部BASIC認証がかかる
そしてコントローラ(クラス定義)の最後にメソッドを追加
protected def auth authenticate_or_request_with_http_basic do |username, password| username == 'rails' && password == 'saisokumaster' end end
あとはテスト。
極める
ここから先は最速とはいえなくなるので本をお薦めします
自分がRailsの学習に使ったのはこれの英語版(Ebook)
英語版
Oreilly & Associates Inc
売り上げランキング: 168483
あとはこれ、なんかいいらしい!
以上で最速マスターは終了です。
- 7 http://labs.ceek.jp/hbnews/
- 6 http://twitter.com/
- 5 http://mixi.jp/view_diary.pl?id=1413712819&owner_id=24396733
- 5 http://www.google.com/reader/view/
- 4 http://reader.livedoor.com/reader/
- 4 http://twitter.com/sora_h
- 4 http://www.google.co.jp/reader/view/
- 3 http://hootsuite.com/dashboard
- 2 http://b.hatena.ne.jp/entrylist
- 2 http://b.hatena.ne.jp/entrylist/it
- 2010-02-14 会者定離で以降 3/40 7%
script/plugin install scaffolding
だったかなー?