初めてのruby on rails その１

2015/11/06

#はじめに
初投稿なので何かと至らないところがあると思いますが、よろしくおねがいします。
この投稿は自分のように、rubyって何？railsって線路のこと？よくわからん。でもruby on railsやってみたい。なんかかっこいいし。
という人と一緒にruby on railsを学習していこうというものです。
それでは早速書いていきます。

#下調べ
まずはいろいろぐぐります。
自分が今回特に参考にしたサイトはここです。
・[Ruby on Rails 4.2 を Ubuntu にインストールする手順をかなり丁寧に説明してみました](http://www.oiax.jp/rails/zakkan/rails_4_2_installation_on_ubunt.html)
ほとんどここに書いている事を書いていきます。
その他参考にしたサイト
・[【初心者】生まれて初めてプログラミングをする文系人間のためのチュートリアル](http://qiita.com/yoshimikeisui/items/0872739e771f8a18a956)
・[小学生でもわかるRuby on Rails入門](http://openbook4.me/projects/92/sections/485)
・[ruby on rails tutorial](http://railstutorial.jp/)

#環境構築
今回の投稿はubuntu 14.04 LTSにRuby 2.2.2 と Ruby on Rails 4.2 をインストール手順を書いたものです。
##git
まずはgitのインストールです。
gitは自分の書いたコードのバックアップをとったり人が書いたコードをまるごと自分の端末に持ってこれる便利なやつです。（自分もあまりわかっていない）
しっかりと事前知識を付けたい人は以下のサイトを参考にしてください。
・[サルでもわかるGit入門](http://www.backlog.jp/git-guide/)
まずは端末に以下のコマンドを打ち込んでください。
　> `sudo apt-get update`
　> `sudo apt-get install git`
gitがインストールされます。（”>”は打たなくて大丈夫です。これからも一緒。）

##各種パッケージ
これも以下の通り順番にコピペしましょう。
　> `sudo apt-get install curl g++`
　> `sudo apt-get install zlib1g-dev libssl-dev libreadline-dev libyaml-dev libxml2-dev libxslt-dev`
　> `sudo apt-get install sqlite3 libsqlite3-dev nodejs`
10個以上のパッケージをインストールしました。
それぞれについて詳しく知りたい人はぐぐってみてください。

##RVMの除去
今回の環境では、もしRVMというものがあった場合邪魔になるので消します。
　> `rvm implode`
「プログラム 'rvm' はまだインストールされていません。」とか「command not found: rvm」とか言われる場合は無視してください。

##その他インストール
ここらへんからカレントディレクトリが重要になってくるのでコマンドの表し方をちょっと変えます。
">"の左が今いるディレクトリのパスだと思ってください。
例えば自分が今homeディレクトリにいる場合は
~/ >
homeディレクトリの下のPicturesの中にいる場合は
~/Pictures/ >
となります。

###rbenv
~/ > `git clone git://github.com/sstephenson/rbenv.git .rbenv`
~/ > `echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc`
~/ > `echo 'eval "$(rbenv init -)"' >> ~/.bashrc`
~/ > `exec $SHELL`

###ruby-build
~/ > `mkdir -p ~/.rbenv/plugins`
~/ > `cd ~/.rbenv/plugins`
~/.rbenv/plugins/ > `git clone git://github.com/sstephenson/ruby-build.git`
~/.rbenv/plugins/ > `cd`

##Ruby のインストール
~/ > `rbenv install 2.2.2`
~/ > `rbenv global 2.2.2`

設定・パスの確認は飛ばします。
確認したい場合は
[Ruby on Rails 4.2 を Ubuntu にインストールする手順をかなり丁寧に説明してみました](http://www.oiax.jp/rails/zakkan/rails_4_2_installation_on_ubunt.html)
を見てください。
一応バージョンだけ確認します。
~/ > `ruby -v`
ruby 2.2.2 なんちゃら〜と表示されればOKです。

##.gemrcの作成
gemの設定ファイルを作ります。
geditでもviでも何でもエディタは何でもいいのでホームディレクトリの下に.gemrcという名前でファイルを作ってください。内容は以下の通りです。

```lang:.gemrc
install: --no-ri --no-rdoc
update: --no-ri --no-rdoc
```

##Ruby on Rails 4.2 のインストール
~/ > `gem install rails --version="~> 4.2"`
~/ > `rbenv rehash`

##作業フォルダの作成
ホームディレクトリの下に作業用のフォルダを作成します。フォルダの名前は何でもいいです。今回はわかりやすいようにRuby_on_Railsというフォルダにします。
~/ > `mkdir Ruby_on_Rails`

#動作確認
##アプリケーションの作成
動作確認用にアプリケーションを作成します。まずは、さっき作ったRuby_on_Railsの中に入ります。
~/ > `cd Ruby_on_Rails`

今回は確認用にtest_appというアプリケーションを作ります。

~/Ruby_on_Rails/ > `rails new test_app --skip-bundle`

そして次に作ったアプリケーションの中に入ります。

~/Ruby_on_Rails/ > `cd test_app`

そして依存パッケージをインストールします。（アプリ動かすのに必要なんだなぁくらいの認識でいいです。）
環境によっては少し時間かかるかもしれません。
~/Ruby_on_Rails/test_app/ > `bundle install`

##簡単なユーザー管理機能の作成

それでは簡単なユーザ管理機能を作ります。
以下のコマンドを端末に打ってみてください。
~/Ruby_on_Rails/test_app/ > `rails g scaffold user name:string email:string`
~/Ruby_on_Rails/test_app/ > `rake db:migrate`

"rails g"というのは"rails generate model"の略です。
"scaffold"はアプリケーションに必要なコントロールやビュー、そしてモデルを自動的に作成してくれる便利なコマンドです。
今回の場合"user"というモデルを作り、"name"と"email"というフィールドをstring型で定義しています。

"rake db:migrate"はデータベースをに新しいテーブルを作ったと思ってください。

##実行
最後に作ったアプリケーションを実行してみます。
~/Ruby_on_Rails/test_app/ > `rails s`

"s"は"server"の略です。

実行したらInternet ExplorerでもGoogle ChromeでもFireFoxでもいいのでプラウザで
"http://localhost:3000/users"
を開きます。

「Listing users」という見出しを持つページが表示されます。
「New User」リンクをクリックします。
「Name」欄にあなたの名前、「Email」欄にあなたのメールアドレスを入力し、「Create User」ボタンをクリックします。
ページの上部に「User was successfully created.」と表示されればOKです。

出来たでしょうか？

次は具体的なWebアプリケーションを作っていきたいと思います。