[勉強] Ruby on Rails #01
Ruby on Rails チュートリアル:実例を使って Rails を学ぼう
web上では無料で公開されているこちらを利用して勉強していく上での備忘録です。
はじめに〜読者の皆さまへ
印象に残った箇所を引用させてもらいます。
チュートリアルが統合的に構成されていることにより、本書を最後まで完了することができれば、現時点のWeb開発の知識量に関わらず、より高度な情報源を難なく読みこなす実力が身につき、上に挙げたJavaScriptなどのRails以外のトピックについても理解しやすくなります。
「最初からテストを書かないといけないでしょうか?」
Railsチュートリアルでは最初からテスト駆動開発 (TDD) を採用しています。
ただし、テスト駆動開発を全面的に採用したことにより、本チュートリアルはその分複雑になり、読者の負担も増えています。
そこで、もしテストで行き詰まってしまった場合には、そこで長々と悩むよりも思い切って (一周目は) その箇所をスキップしてしまいましょう。(Rubyでは行末にセミコロンを置いても置かなくても問題なく動きますので、行末にセミコロンがないとどうしても落ち着かない方はそうしてみてもよいかもしれません。お勧めはしませんが。)
「Railsはスケールアップできない」という主張について
Webサイトをスケールさせるのはあなたが行わなければいけない作業であって、フレームワークがWebサイトをスケールさせるのではない
表記について
Railsで作成するWebアプリケーションが置かれているディレクトリのルート (root) を、Railsルートと呼ぶことにします。
多くの人がRailsルートを「Railsというアプリケーションそのものがインストールされているディレクトリのルート」だと勘違いします。
開発環境
IDE
イマドキ、Ruby on Railsで開発するならエディタはRubyMineだよね? 6出たよー!
PHPStromは使っているので、RubyMineがいいけど、お値段が。。。
(統合できて、安くなる仕組みになってたらいいのに)
エディタ
上記IDEは開発からコマンド実行、アップロードなどもオールインワンで行えるものだけれど、
テキストエディタ+ターミナルでのコマンド実行、でも大丈夫。
Sublime Text と ターミナル、(とりあえず)無料で始められる。
SublimeTextでRailsの開発環境を整える(英語)
インストール
rvmはインストール済だったので、最新版にアップデートしておいた。
$ rvm get stable
Rubyをインストールしたら、Railsのアプリケーションを実行するために必要な他のソフトウェア向けにシステムを構成する必要があります。
gemとは自己完結型のRubyコードのパッケージです。
一連のgemを自己完結的にまとめたgemsetというものを作成してバージョンを使い分けるのが便利です。
本書向けに、以下を実行してrailstutorial_rails_4_0という名前のgemsetを作成しておく
$ rvm use 2.0.0@railstutorial_rails_4_0 --create
これを実行すると、ruby-2.0.0-p481 is not installed.
と怒られた。
ので、インストールしておく。
$ rvm install 2.0.0 --with-openssl-dir=$HOME/.rvm/usr
. . .
Install of ruby-2.0.0-p481 - #complete
再度、gemsetを作成。
チュートリアル内ではこれをデフォルトに、とあるけど、
他に影響が出そうなので、とりあえず、セットを作って、必要に応じて適応させるようにする。
で、このままだとセット名が長いので、セット名をrails4
など簡単なものにしておいた。
一旦削除して、
$ rvm gemset delete railstutorial_rails_4_0
Are you SURE you wish to remove the entire gemset directory 'railstutorial_rails_4_0'
(anything other than 'yes' will cancel) >
再度作成。
$ rvm use 2.0.0@rails4 --create
これで作成されたので、次回起動時にはこのセットを適用、、、すればいいのだけれど、
現状、デフォルトは、ruby-1.9.3-p484
にしている。
この状態で、rvm gemset use rails4
としても、ファイルがない、と言われて実行出来ない。
一度、rvm use 2.0.0
にしてやれば実行できた。(それだとセットを適用させる意味がないけど。。)
参考:transitive.info – RVM の gemset を使う
RubyGems
RVMをインストールしてあれば、既にRubyGemsも同時にインストールされているはずです。
だけれど、which gem
とすると、パスがそのままは出なかった。
とりあえず、下記のコマンドを実行すると、無事インストールされたよう。
(権限上、sudo
が必要だった)
$ sudo gem update --system 2.0.3
. . .
RubyGems 2.0.3 installed
. . .
RubyGems installed the following executables:
/Users/xxx/.rvm/rubies/ruby-2.0.0-p481/bin/gem
2種類のドキュメント、riやrdocの自動生成を抑制するために、.gemrc
に追記。
sublはOS XでSublime Textを起動するコマンドです
$ subl ~/.gemrc
以下を追記
install: --no-rdoc --no-ri
update: --no-rdoc --no-ri
このチュートリアルを始める前にすでに入れてしまってたので、
バージョンを確認しようとしたらエラーが出た。
$ rails -v
/usr/local/Cellar/ruby/2.1.2_2/lib/ruby/2.1.0/rubygems/dependency.rb:298:in `to_specs': Could not find 'railties' (>= 0) among 15 total gem(s) (Gem::LoadError)
from /usr/local/Cellar/ruby/2.1.2_2/lib/ruby/2.1.0/rubygems/dependency.rb:309:in `to_spec'
from /usr/local/Cellar/ruby/2.1.2_2/lib/ruby/2.1.0/rubygems/core_ext/kernel_gem.rb:53:in `gem'
from /usr/local/bin/rails:22:in `<main>'
以下で解決した。
$ sudo gem install railties
バージョンは、4.1.4
だった。
チュートリアルは4.0.5
だけど、とりあえずこのままにしておく。
次回、いよいよアプリの作成です。