Railsを始めて2日目。
Ruby on Rails チュートリアルの第3章で
$ rails generate rspec:install
を実行する場面が出てきました。
http://railstutorial.jp/chapters/static-pages?version=4.0#top (リスト3.2の辺り)
最初に実行すると
`require': cannot load such file -- active_job/railtie (LoadError)
というエラーに遭遇したので、それをそのままググってみると、どうやらRailsのバージョンの問題らしい。
http://qiita.com/jnchito/items/f3bde6e46afbeba8cb82
ひとまず
$ rails -v
Rails 4.0.5
$ rails _4.0.5_ new sample_app --skip-test-unit
というステップを踏んで再度やり直し。
再び
$ rails generate rspec:install
を実行すると、今度は
`<top (required)>': uninitialized constant SampleApp (NameError)
というエラーが発生。
ここまでのステップでSampleAppという名前はチュートリアル(http://railstutorial.jp/chapters/static-pages?version=4.0#top) のリスト3.2にしかない
config/initializers/secret_token.rb
SampleApp::Application.config.secret_key_base = secure_token
NameErrorのエラーなので、この一行をコメントアウト。
すると
$ rails generate rspec:install
create .rspec
create spec
create spec/spec_helper.rb
となり成功しました。
(あまり理解せぬまま実行・成功したので応急処置です)
その後先輩に聞いたところ、ここのSapmleAppはプロジェクト名らしい。
チュートリアル内では
$ rails new sample_app --skip-test-unit
というコマンドでプロジェクトを生成。
コマンドではsapmple_appと命名したものが、諸ファイルの中ではSampleAppと表記されるらしい。
私は今回はプロジェクト名をsample_3.1としてしまったがために、
config/initializers/secret_token.rb
Sample3.1::Application.config.secret_key_base = secure_token
と変更して実行すると
no .<digit> floating literal anymore; put 0 before dot (SyntaxError)
というエラーを生んでしまいました。
次回以降はプロジェクト名に「.」を使用しないように気をつけようと思います。