131212_01:アジャイル開発本

本日の勉強

  • SQLite3のダウンロード手順
  • 新しいアプリケーションの作成
  • ブラウザに簡単なあいさつを表示するアプリケーションの作成
  • 動的コンテンツ作成
  • リンクによる複数ページの連携

 

SQLite3のダウンロード手順

$ gem install sqlite3

でダウンロード

$ gem search --local sqlite3

でダウンロードされたバージョンを確認

 

--以下第2章

新しいアプリケーションの作成

workという名前のフォルダを作成

$ mkdir work

 

workに移動

$ cd work

 

work内にdemoディレクトリ作成

$ rails new demo

 

demo内に移動し、中身を確認

$ cd demo

$ ls

 

バージョン確認

$rake about

 

問題なければアプリケーションの実行

$ rails s

 

ブラウザでアクセス

 

http://0.0.0.0:3000

 

これで新しいアプリケーションの実行完了!

 

--

ブラウザに簡単なあいさつを表示するアプリケーションの作成

 

sayという名前のコントローラを作成

demoディレクトリで、次のコマンドを実行

$ rails generate controller Say Hello goodbye

 

コントローラのソースファイルを見てみる

 

$ subl app/controllers/say_controller.rb

 

アクセスしてみる

http://localhost:3000/say/hello

 

ここでRouting Error

(あとでただhelloのスペルが大文字のHelloになっていたことが原因だと判明)

 

http://localhost:3000/say/goodbye

のほうはアクセスできる

 

goodbye.html.erbを編集

<h1>Railsからこんにちは!</h1>

と記入

 

もう一度

http://localhost:3000/say/goodbye

Railsからこんにちは!と表示できることを確認

 

--

動的コンテンツ作成

ページが表示されるたびにその時点の現在時刻が表示されるようにする。

 

goodbye.html.erbに以下のコードを追加し、再度アクセスすると時刻が表示される

<p>

現在の時刻は、<%= Time.now %>です。

</p>

 

(goodbye.html.erbをHello.html.erbに置き換え)

 

--

リンクによる複数ページの連携

 Hello.html.erabに

<p>

<a href="/say/goodbye">さようなら!</a>と表示します。

</p>

 

goodbye.html.erb

<p>

<a href="/say/goodbye">こんにちは!</a>と表示します。

</p>

をそれぞれ追加。

 

このままでは融通が効かないため上記を書き換え
Helloは

<p>

<%= link_to "さようなら!", say_goodbye_path %>と表示します。

</p>

 

goodbyeは

<p>

もう一度<%= link_to "こんにちは", say_Hello_path %>

</p>

 

*メモ

<%=...%>タグの間に記述されたコンテンツはRubyのコードと解釈される。 

 

RubyRails・RVMドキュメント集

Ruby

https://www.ruby-lang.org/en/documentation/ruby-from-other-languages/

http://en.wikipedia.org/wiki/Ruby_programming_language

http://zenspider.com/Languages/Ruby/QuickRef.html

 

Rails

http://pragprog.com/wikis/wiki/RailsPlayTime

http://api.rubyonrails.org/ 

http://railstutorial.jp/chapters/beginning#book_menu

 

RVM

http://rvm.io/rvm/install

 

第2章のまとめ

  • 新しいRailsアプリケーションを作成し、そのアプリケーションに新しいコントローラを追加する方法
  • コントローラ内で動的コンテンツを作成し、それをビューテンプレートを通じて表示する方法
  • 復習のページをリンクによって連携させる方法