D:\Program\data\books>rails s => Booting WEBrick => Rails 4.0.0 application starting in development on http://0.0.0.0:3000 => Run `rails server -h` for more startup options => Ctrl-C to shutdown server Exiting C:/Ruby193/lib/ruby/gems/1.9.1/gems/actionpack-4.0.0/lib/action_dispatch/routing /mapper.rb:191:in `normalize_conditions!': You should not use the `match` method in your router without specifying an HTTP method. (RuntimeError) If you want to expose your action to both GET and POST, add `via: [:get, :post]` option. If you want to expose your action to GET, use `get` in the router: Instead of: match "controller#action" Do: get "controller#action" from C:/Ruby193/lib/ruby/gems/1.9.1/gems/actionpack-4.0.0/lib/action_dis ...どうやら、Rails 4 系から match メソッドがこれまで通りでは動かないように変更されたらしい。
対応するには、 get でのマッチングを指定か、via を使っての指定を行わないとダメなようだ。
3 系 match 'hello' => 'booklist#hello' match 'bye' => 'booklist#bye' ↓ 4 系 get 'hello', to: 'booklist#hello' match 'bye' => 'booklist#bye', via: :get習得するに当たり、今のところは、Rails 3 系の情報が多く、手持ちの書籍も 3 系のため、慣れてくるまでは、4 系 との違いを補完しながら学習するのは効率が悪い気がするので、3 系をインストールしようと思った(普通に gem からのインストールでは 4 系が入る)。
まずは、現在入っている 4 系をアンインストールしてから 3 系の最新版をインストールする。
アンインストールの際に、「gem uninstall rails」としても、アンインストールは出来ないようだ。
調べたところ railties を指定すると良いらしい。
rails -v Rails 4.0.0 gem uninstall railties -v '4.0.0' (gem uninstall rails ではダメ)アンインストールが完了した後に、バージョンを指定して 3 系をインストールする。
バージョンは、公式を確認すれば良い。
Rails 本家
http://rubyonrails.org/
gem install rails -v '3.2.14' ... rails -v ← インストール出来ているか確認 Rails 3.2.14
0 件のコメント:
コメントを投稿