5年ぶりのRuby on Rails

5年ぶりにRoRWebサービス作成です。さすがに5年経つと色々と便利になってますね。

環境準備

rvm(Ruby Version Manager)は複数のRuby実行環境の管理を簡単にする。

bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)
$ rvm install 1.9.3
$ rvm --default 1.9.3
$ rvm list

インストールしてデフォルトに設定


・gemはRubyのライブラリ管理を面倒見てくれる
・rvmのgemsetでRubyに対していくつものgemを管理できる。

$ rvm gemset create rails32
$ rvm gemset list
$ rvm gemset name
$ rvm use ruby-1.9.3-p194@rails32
$ rvm default ruby-1.9.3-p194@rails32

ここでは、rails3.2で使うgemsetを用意

$ gem install rails

Railsインストール

# yum install sqlite-devel
$ gem install sqlite3

SQLLiteインストール

# yum install openssl-devel
$ cd ~/.rvm/src/ruby-1.9.3-p194/ext/openssl/
$ ruby extconf.rb
$ make
$ make install

openssl用意(エラー出たので)

Railsの基本とプロジェクト作成

MVC

Model: データに関する
Veiw:見た目に関する
Controller:ModelとViewをとりもつ
$ cd ~/myapp/
$ new myapp

Railsプロジェクト作成


・ファイル構成

myapp
  ..app
    ..model
    ..view
    ..controller
    ..assets
  ..config
  ..log
  ..db
  ..public
Gemfile


・bundle関連でエラーが出た場合gemfileをいじる。

# yum install gcc-c++
$ vi Gemfile
$ bundle install

gemfileの修正とインストール

$ cd myapp
$ rails server

Railsサーバー起動

サーバーのポート3000にアクセスして起動確認。

scaffoldで試作

$ rails generate scaffold User name name:string email:string intro:string
$ rake db:migrate
$ rake routes

試しにscaffoldで定型作成
http://localhost:3000/user/


昔やった時はgemのmakeでどえらいはまった記憶があるけど今回は、2時間ちょっとで準備完了できました。