2013年4月17日水曜日

Ruby on Railsで遊ぼう

お久しぶりです!
このブログも久しぶりに投稿します.

今日は今まで敬遠していたRuby on Railsを試してみようということで,セットアップをやってみました.

私はあまりRubyが好きではないのですが,流行ってるもの(もう定番か?)は試そうということで挑戦です.

今回参考にさせていただいたサイトは
この2つの記事です.
また以上のサイトで不足している部分についても補足します.

環境

仮想環境:VMware player 5.0.2
OS    :Ubuntu12.04.01

Ruby1.9.3をインストール

まずはcurlをインストールします.
sudo apt-get install curl
時々使いますがこのcurlってなんでしょう?
調べたところ,URLを指定してファイルを取得するためのツールのようです.wgetとなにか違うのでしょうか?いつか調べよう.

このcurlを利用して,Rubyのバージョンを管理するRVMをインストールします.

curl -L https://get.rvm.io | bash -s stable
これでaptにはないもう少し新しいRubyのバージョンが使える準備が整ったわけです.

さらに,これを実行したのち,

source ~/.rvm/scripts/rvm
を実行することでしっかりとRVMをインストールするわけです.

しっかりとRVMがインストールされたところで,もう少し準備が入ります.
Ruby1.9.3をインストールするために必要なものをいんすとーるします
sudo apt-get --no-install-recommends install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev libgdbm-dev ncurses-dev automake libtool bison subversion pkg-config libffi-dev
こんな感じです.
ひゃーたくさん!

これで準備はばっちり!

ここから実際にインストールに入ります.ちなみにrailsのインストールまで一気にやります.

rvm install 1.9.3
rvm use 1.9.3 --default
rvm rubygems current
gem install rails
これでrailsのインストールまで完了です.
ここまでの内容は,1のリンクを参考にしました.

また,補足として,nodejsをインストールしましょう.
これがないと,この後実際にrailsでアプリケーションを作る際に動きません.

sudo apt-get install nodejs
で特に問題はないでしょう.

実際にアプリケーションを作る

railsもインストールできたところで実際に作ってみましょう.
作るのはブログ形式のタイトルと中身を記述して,投稿し,それを閲覧できるアプリケーションです.



rails new myapp
cd myapp
上のコマンドを実行し,railsアプリケーションを作成し,そのディレクトリに入ります.

このディレクトリ内で実際に要素を作っていきます

rails g scaffold Post title:string body:text
rake db:migrate

このコマンドを少し解説します.
1行目rails はrailsを動かす,g はgenerateの略でコードを生成する,scaffoldはscaffold型のひな形を使ったアプリケーションにするという意味です.
title:stringはタイトルというエリアを作ってそこには文字列1行のエリアを,body:textはテキストエリアを作るという意味です.
2行目ではデータベースの設定をしています.

次にconfig/routes.rbを編集します.
54行目の
#root :to => 'welcome#index'
root :to => 'posts#index'
とし,さらにmyapp/public/index.htmlを削除します.

これで一応動くはずなので,ためしに動かしてみます.

rails s
でrailsによるサーバーを起動させ,初めのほうに書かれているURLにアクセスします.
ここまでになにも問題がなければ,
このように表示されるはずです.New Postから適当に投稿してみて,結果を確認してください.


以上でインストールは終了です.
2つ目のリンク先のブログ記事ではもっといろいろな機能をつけるので,気になる方はどうぞ.