開発の流れ
-
アプリケーションを作成
Terminal$ rails new プロジェクト名
例)ブログアプリを作る(blogプロジェクト)
$ rails new blog
-
Modelを作成
Terminal$ rails generate model オブジェクトのモデル名(単数形) カラム名1:データ型1 ・・・ カラム名n:データ型n
例)ブログアプリのポストモデルを作る(Postモデル)
【カラム】title: string型, content: text型
$ rails g model Post title:string content:text
-
DBの設定
Terminal$ rake db:migrate
-
Controllerを作成
Terminal$ rails g controller オブジェクトのコントローラ名(複数形)
例)ブログアプリのポストコントローラを作る(Postsコントローラ)
$ rails g controller Posts
-
ルーティングを設定
config/routes.rbを編集 (詳細)
- Terminal
$ rake routes
-
Controller内にMethodを作成
app/controllers/コントローラ名_controller.rb# coding: utf-8 class コントローラ名Controller < ApplicationController # メソッド1 def メソッド名 # 処理 end # メソッド2 def メソッド名 # 処理 end # メソッド3 def メソッド名 # 処理 end end
-
必要であればそれに対応するViewも作成、編集
Terminal$ touch app/views/コントローラ名/ビュー名.html.erb
-
2〜7を機能分繰り返す
モデル同士でリレーションシップ(関係)があり、アソシエーション(組織)を作る場合は以下を参照のこと
よく参照しそうなURL
Railsリファレンス
Ruby on Railsドキュメント
- Railsを網羅できます。たぶん。
- モデル(model)
- ビュー(view)
- コントローラ(controller)
HTMLリファレンス
とほほのWWW入門-HTMLリファレンス
- HTMLを網羅できます。たぶん。
jQueryリファレンス
Railsドキュメント-jQuery
RailsのjQueryリファレンス
SQLite3リファレンス
Railsドキュメント-SQLite
Railsのsqlite3リファレンス
SQLite が認識できる SQL
SQLite3をほぼ網羅しています。
エラーが出たら
google検索
- 人に聞く前に検索窓に聞く。
日本 Railsメーリングリスト 過去ログ
- とにかく情報がいっぱい。検索すれば何かしら出てきます。
[OFFICIAL]Ruby on Rails
- Ruby on Rails公式サイトです。更新情報を確認しましょう。アップデートで使えなくなったメソッドなどなど、エラーの原因は色々です。
更新情報が知りたい
[OFFICIAL]Ruby on Rails
- Ruby on Rails公式サイトで確認できます。
コードの実例が見たい
Ruby on Railsドキュメント
- ほんとにいろいろあります。いろいろ。便利です。 ####http://api.rubyonrails.org/
本当にお手上げ、誰か教えて
日本 Railsメーリングリスト
- すごい人たちがすごい会話してます。初心者にも優しい暖かいメーリスです。先輩方に敬意を持って質問します。
- 登録方法はリンク先にあります。
Stack Overflow
- 稼働率MAXです。我らゆとり勢も恐れずに、英語ができなくてもgoogle翻訳でなんとかなります。google翻訳を使う場合は、日本語をなるべく主語述語を使って書いて、翻訳結果をある程度修正してから投稿しましょう。英語、勉強しましょう。
QA@IT
- Stack Overflowの日本版です。稼働率はかなり低いです。でも、ここのユーザーは確かな技術を持った先鋭たちのような気がします。回答が神のようです。
Qiita
- ここです。みんなで議論するのもアリだと思います。
Railsの概念・チュートリアル
[OFFICIAL]Ruby on Rails Guides
- 簡単なチュートリアル
- MVCフレームワークに関する丁寧な説明
Ruby on Railsドキュメント
- Railsを網羅できます。たぶん。
メモ一覧
-
ドットインストールでRuby on Rails 3.2を学んだ際の詳細なメモ (1〜2)/全46
#01 Ruby on Railsとは何か?
#02 必要となるツールを揃えよう- Ruby on Railsはこんなものですよ
- 必要な情報はここら辺で集まりますよ
- 必要な知識にはこんなものがありますよ
- 開発環境はこんな感じですよ
-
ドットインストールでRuby on Rails 3.2を学んだ際の詳細なメモ 3/全46
- Ruby on RailsはMVCフレームワークですよ
- MVCはこんなものですよ
-
ドットインストールでRuby on Rails 3.2を学んだ際の詳細なメモ (4〜8)/全46
#04 はじめてのRailsプロジェクト
#05 ファイル構成をみていこう
アプリケーションを作成する基本的な流れを覚えましょう#06 Webサーバーを立ち上げよう
作成したWebアプリケーションをどうささせてみましょう#07 scaffoldを使ってみよう (1)
#08 scaffoldを使ってみよう (2)
DB、Model、View、Controllerの作成、URLの設定をしてみましょう -
ドットインストールでRuby on Rails 3.2を学んだ際の詳細なメモ (9〜13)/全46
#09 ブログシステムを作ろう
#10 新しいプロジェクトを作ろう
#11 Postモデルを作ろう
#12 Postsコントローラーを作ろう
#13 ルーティングの設定をしよう
Scaffoldを使わずに、一からブログアプリケーションを作成しよう(実践的)
プロジェクト、Model、Controllerを作成し、ルーティングの設定をしよう -
ドットインストールでRuby on Rails 3.2を学んだ際の詳細なメモ (14〜21)/全46
#14 デバッグに使えるコンソールについて
#15 コントローラーのメソッドについて
#16 記事の一覧を表示する (1)
#17 記事の一覧を表示する (2)
#18 リンクを貼ってみよう
#19 HTMLテンプレートを変更しよう
#20 ロゴ画像を表示させてみよう
#21 記事一覧画面をrootにしてみようScaffoldを使わずに、一からブログアプリケーションを作成しよう(実践的)(続き)
rails console
とか、rails dbconsole
なんかの便利なツールがありますよ
コントローラーのメソッドと、それに対応するViewを作っていきましょうScaffoldでは自動生成してくれたModel、DBの設定、Controller、URL、Controllerのメソッド、Viewを自力で作ります。(まずは1つ)
-
ドットインストールでRuby on Rails 3.2を学んだ際の詳細なメモ (22〜23)/全46
#22 記事の詳細を表示する (1)
#23 記事の詳細を表示する (2)Scaffoldを使わずに、一からブログアプリケーションを作成しよう(実践的)(続き)
- コントローラーのメソッドと、それに対応するViewを作っていきましょう(続き)
- Scaffoldでは自動生成してくれたModel、DBの設定、Controller、URL、Controllerのメソッド、Viewを自力で作ります。(続き - show)
-
ドットインストールでRuby on Rails 3.2を学んだ際の詳細なメモ (24〜30)/全46
#24 新しい記事を追加しよう (1)
#25 新しい記事を追加しよう (2)
#26 新しい記事を追加しよう (3)
#27 バリデーションを設定しよう
#28 バリデーションエラーを表示しよう
#29 フラッシュメッセージを表示する
#30 メッセージをjQueryで消すScaffoldを使わずに、一からブログアプリケーションを作成しよう(実践的)(続き)
- コントローラーのメソッドと、それに対応するViewを作っていきましょう(続き)
- Scaffoldでは自動生成してくれたModel、DBの設定、Controller、URL、Controllerのメソッド、Viewを自力で作ります。(続き - new,create)
記事のタイトル一覧を表示するindexメソッド、その記事を表示するshowメソッドは完成したので次はその記事を表示するページが欲しいですね。ということでnewメソッド(新規作成フォーム)を作ります。また、フォームから送信されたデータを処理して新しい記事を作成するcreateメソッドも作成します。
バリデーション(検査)の設定をやってみよう(実践的)
-
ドットインストールでRuby on Rails 3.2を学んだ際の詳細なメモ (31〜33)/全46
#31 記事を更新してみよう (1)
#32 記事を更新してみよう (2)
#33 記事を更新してみよう (3)
Scaffoldを使わずに、一からブログアプリケーションを作成しよう(実践的)(続き)- コントローラーのメソッドと、それに対応するViewを作っていきましょう(続き)
- Scaffoldでは自動生成してくれたModel、DBの設定、Controller、URL、Controllerのメソッド、Viewを自力で作ります。(続き - edit, update)
記事のタイトル一覧を表示するindexメソッド、その記事を表示するshowメソッド、記事の新規作成フォームを作成するnewメソッド、記事を作成するcreateメソッドは完成したので次はその記事を編集するページが欲しいですね。ということでeditメソッド(記事編集フォーム)を作ります。また、フォームから送信されたデータを処理して記事を上書きするupdateメソッドも作成します。
-
ドットインストールでRuby on Rails 3.2を学んだ際の詳細なメモ (34〜36)/全46
#34 記事を削除してみよう
#35 削除処理をAjax化しよう (1)
#36 削除処理をAjax化しよう (2)
Scaffoldを使わずに、一からブログアプリケーションを作成しよう(実践的)(続き)- コントローラーのメソッドと、それに対応するViewを作っていきましょう(続き)
- Scaffoldでは自動生成してくれたModel、DBの設定、Controller、URL、Controllerのメソッド、Viewを自力で作ります。(続き - destroy)
記事のタイトル一覧を表示するindex、その記事を表示するshow、記事の新規作成フォームを作成するnew、記事を作成するcreate、記事を編集するeditは完成したので次はその記事を削除するページが欲しいですね。ということでdestroyを作ります。
-
ドットインストールでRuby on Rails 3.2を学んだ際の詳細なメモ (37〜46)/全46
#37 Commentモデルを作ろう
#38 Commentsコントローラーを作ろう
#39 コメントを表示させよう
#40 コメントを投稿してみよう (1)
#41 コメントを投稿してみよう (2)
#42 バリデーションを設定しよう
#43 コメントを削除してみよう (1)
#44 コメントを削除してみよう (2)
#45 コメント件数を表示してみよう
#46 Railsを日本語化しよう
Scaffoldを使わずに、一からブログアプリケーションを作成しよう(実践的)(続き)- 新しい機能(Comment)を追加させましょう
- Scaffoldでは自動生成してくれたModel、DBの設定、Controller、URL、Controllerのメソッド、Viewを自力で作ります。
Railsを完璧に理解する?
Railsを完璧に理解するには相当な努力が必要そうです。
Ruby、MVCフレームワーク、ActiveRecord、データベース、HTTP、HTML、CSS、javascript、jQuery・・・(ぁゎゎ...
だからフレームワークなんてくそだ!といって、ゼロからシステムを作成する友人もいます(フレームワークの設計から自作なのでそれはそれで面倒だと思うのですが・・・)。
しかし完璧に理解する必要は無く、基本的な概念と使い方がわかっていればいいんだと思います。フレームワークですから。
フレームワークはたくさんの人が用意してくれた部品(ヘルパー、ライブラリ)を使って作品を完成させるものです。車の部品を組み立てる人がその部品の内部でどんな風に動作するんだろうなんて考える人はほとんどいません。いたらかなりのマニアでしょう。考えなくても部品が部品に求められている動作をするということを知っていれば良いのです。そして、部品を探しても無ければ自分で作る。Railsリファレンス片手に作っていけばいいんじゃないでしょうか。使っていれば使い方を覚えて開発もどんどんスムーズになっていくと思います。