この広告は、90日以上更新していないブログに表示しています。
題材: メモツール
簡単なメモを登録削除更新したりできるWebアプリ作りましょう
| Model | データーベースの操作に使う。独自のメソッドを定義したりリレーションシップを楽に扱えたりするRailsだとActiveRecordが担当する |
| View | RailsだとWebへの表示を担当する。この場合erbやHamlが該当する。標準だとerb。ActiveViewが担当する |
| Controller | 表示などのコントロールを担当する。データの登録などはここ。ようするにWebアプリの頭脳ActionControllerが担当するはず |
Scaffoldという雛形(作成編集表示削除一覧の機能をもつ)を作成しそれをいじって高速な開発ができる
最近の2.x系Railsだとモデルとmigrateも(後述)最速作成してくれるのでとてもvenry.
注意: script/*の実行はWindowsだとruby script/としないと実行できない
が基本形。名前は単数形(Railsは単数形複数形を使い分ける)
$ script/generate scaffold memo name:string body:text
を実行する
db/migrateにmigrateファイルというのが作成される。
データーベースの構造のバージョン管理的な感じで、
$ rake db: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認証がかかる
そしてコントローラ(クラス定義)の最後にメソッドを追加
protecteddefauth authenticate_or_request_with_http_basicdo |username,password| username =='rails' && password =='saisokumaster'endend
あとはテスト。
ここから先は最速とはいえなくなるので本をお薦めします
自分がRailsの学習に使ったのはこれの英語版(Ebook)
英語版
あとはこれ、なんかいいらしい!
以上で最速マスターは終了です。
引用をストックしました
引用するにはまずログインしてください
引用をストックできませんでした。再度お試しください
限定公開記事のため引用できません。