ベスパリブ

プログラミングを主とした日記・備忘録です。ベスパ持ってないです。

Ruby on Railsチュートリアルを進める


Ruby on Rails チュートリアル:実例を使って Rails を学ぼう

Ruby on Railsチュートリアルやっています。
いろいろ調べた結果、上記のチュートリアルがとても勉強になりそう。Ruby、Webアプリケーション、gitなどが学べるらしいです。

で、以前の記事rubyrailsをインストールしましたが、せっかくなのでチュートリアルの通りにインストールしなおしました。
・ruby2.0.0
・rails4.0.5
rubyはバージョン違いでエラー出まくりなようなので、おとなしくチュートリアルと同じ環境にしました(2014年10月24日現在)。

しかし、エラー出まくり。なかなか進まない。
1.2.5節でつまずく。

$ rails server

サーバを立てる。しかし、

Internal Server Error

You must set config.secret_key_base in your app's config.

エラーが出る。
とりあえず上記のエラーメッセージで検索すると、同じエラーが出ている人がいた。
Ruby on Rails チュートリアル メモ① - NOODLECH
と、
ruby on rails - DEPRECATION WARNING: You didn't set config.secret_key_base - Stack Overflow

よくわからないが、現在のrailsのプロジェクトにsecret_keyを設定してあげないとダメらしい。
ターミナルで以下を実行。

$ rake secret

するとドバーッと長い数字と文字列が得られるので、それをコピーする。
次に、first_app/config/initializers/secret_token.rbを適当なエディタで開く。secret_token.rbがない場合は作成する。first_appは私の環境のディレクトリ名なので、適宜自分のディレクトリ名に変えてください。

$ vim config/initializers/secret_token.rb

エディタを開いたら、下記のように設定する。

YourApp::Application.config.secret_key_base = '$YOUR_SECRET_KEY'

YourAppは適宜アプリケーション名に。$YOUR_SECRET_KEYはさっき取得した文字列を入れる。ちなみに私は以下のような感じになった。

FirstApp::Application.config.secret_key_base = '012345ab....'

設定したあとは、もう一度rails serverしてブラウザで確認。エラーがなくなって”Welcome Aboard”が表示されたら成功。