Ruby on Rails Tutorial をやっていると結構環境によって躓くことがあるのでメモっておく。
第1章で
$ rails server
=> Booting WEBrick
=> Rails application starting on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
自分の環境で上記を実行すると下記のようなエラーが発生した。
/home/***/.rbenv/versions/2.0.0-p451/lib/ruby/gems/2.0.0/gems/railties-4.0.5/lib/rails/railtie/configurable.rb:30:in method_missing': undefined method application' for #<FirstApp::Application:0x0000060132cd30> (NoMethodError) 対処法としては
$ vim ~/rails_project/firlst_app/config/environments/development.rb
~/rails_project/firlst_app/config/environments/development.rb
src
1 Rails.application.configure do
dest
1 FirstApp::Application.configure do 上記のような変更を加えればOK。 次にhttp://localhost:3000に接続すると
DEPRECATION WARNING: You didn't set config.secret_key_base. Read the upgrade documentation to learn more about this new config option. (called from service at /home/YAMAMOTO_HI/.rbenv/versions/2.0.0-p451/lib/ruby/2.0.0/webrick/httpserver.rb:138)
[2014-07-02 15:33:05] ERROR RuntimeError: You must set config.secret_key_base in your app's config.
こんな感じのエラーがでるので $ rake secret して、出てきた文字列をコピー $ vim ~/rails_projects/first_app/config/initializers/secret_token.rb
~/rails_projects/first_app/config/initializers/secret_token.rb
FirstApp::Application.config.secret_key_base = '***' ←コピーした文字列に置き換える 以上