2013年8月14日水曜日

Rails 4 のアンインストール

Rails の勉強とサイトや本を見ながら動かしているが、全くをもって初歩の段階でエラーが出てしまった。
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 件のコメント:

コメントを投稿