Movatterモバイル変換


[0]ホーム

URL:


cod.note

この広告は、90日以上更新していないブログに表示しています。

Rails基礎文法最速マスター

題材: メモツール

簡単なメモを登録削除更新したりできるWebアプリ作りましょう

Railsのインストール

sqlite3-rubyも必要ですが、ここでは割愛します

$ gem installrails

プロジェクトの作成

$rails memo

./memoにrailsの基盤が展開される

MVC最速マスター

Modelデーターベースの操作に使う。独自のメソッドを定義したりリレーションシップを楽に扱えたりするRailsだとActiveRecordが担当する
ViewRailsだとWebへの表示を担当する。この場合erbやHamlが該当する。標準だとerb。ActiveViewが担当する
Controller表示などのコントロールを担当する。データの登録などはここ。ようするにWebアプリの頭脳ActionControllerが担当するはず

Scaffold最速マスター

Scaffoldという雛形(作成編集表示削除一覧の機能をもつ)を作成しそれをいじって高速な開発ができる

最近の2.x系Railsだとモデルとmigrateも(後述)最速作成してくれるのでとてもvenry.

注意: script/*の実行はWindowsだとruby script/としないと実行できない

$ script/generate scaffold<名前><カラム名>:<型>[<カラム名>:<型>]..

が基本形。名前は単数形(Railsは単数形複数形を使い分ける)

$ script/generate scaffold memo name:string body:text

を実行する

migrate

db/migrateにmigrateファイルというのが作成される。
データーベースの構造のバージョン管理的な感じで、

$ rake db:migrate

でデータベースにテーブルなどががりがり生成される

生成されたファイル群

app/controllers/*_controller.rbコントローラ
app/models/*.rbモデル
app/views/*/*.html.erbビュー

見るだけでだいたいわかる。直感で。

実行

$ script/server

ポート番号3000でテスト用の鯖が起動します


http://localhost:3000/memos/

/コントローラ名/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認証がかかる

そしてコントローラ(クラス定義)の最後にメソッドを追加

protecteddefauth    authenticate_or_request_with_http_basicdo |username,password|      username =='rails' && password =='saisokumaster'endend

あとはテスト。

極める

ここから先は最速とはいえなくなるので本をお薦めします

自分がRailsの学習に使ったのはこれの英語版(Ebook

英語版

Head First Rails
Head First Rails
posted withamazlet at 10.02.14
David Griffiths
Oreilly & Associates Inc
売り上げランキング: 168483

あとはこれ、なんかいいらしい!


以上で最速マスターは終了です。

検索

引用をストックしました

引用するにはまずログインしてください

引用をストックできませんでした。再度お試しください

限定公開記事のため引用できません。

読者です読者をやめる読者になる読者になる

[8]ページ先頭

©2009-2025 Movatter.jp