rails generate controllerしようとしたら、何故かできなかった
ひとまず、コンソールエラー
rails generate controller hoges
/Users/hogehoge/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/thread_safe-0.3.5/lib/thread_safe/cache.rb:155: warning: constant ::Fixnum is deprecated
/Users/hogehoge/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/thread_safe-0.3.5/lib/thread_safe/cache.rb:155: warning: constant ::Fixnum is deprecated
/Users/hogehoge/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-4.2.5/lib/active_support/core_ext/numeric/conversions.rb:121: warning: constant ::Fixnum is deprecated
/Users/hogehoge/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-4.2.5/lib/active_support/core_ext/numeric/conversions.rb:121: warning: constant ::Bignum is deprecated
結論
railsとrubyのバージョンが不一致??
以下、やったこと
そもそもログにもWarningしか出てないじゃん...
こまった...
ちな、このwarningは
サンプルコードでわかる!Ruby 2.4の新機能と変更点で詳細?を確認しました。
そこで、conrollerができなくなるまでにやったことを振り返る
- Gemfileの更新 →よく使ってきたgemを追加しただけなので多分違う
- Editorの設定の変更 → 論外
- rubyのバージョンアップ → これかな??
railsのバージョンを上げてみる
Rails 4.2 → Rails 5.0.0.1に上げてみた
gem install rails -v '5.0.0.1' --no-rdoc --no-ri
Successfully installed rails-5.0.0.1
1 gem installed
KTakataMacBookAir:workspace project$ rails -v
Rails 5.0.0.1
Gemfileの更新
Gemfile
gem 'rails', '5.0.0.1' # 元は4.2.5
```
`bundle update`する
#### 再度、rails g contorllerの実行
```
KTakataMacBookAir:workspace project$ rails generate controller hoges
/Users/hogehoge/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-5.0.0.1/lib/active_support/xml_mini.rb:51: warning: constant ::Fixnum is deprecated
/Users/hogehoge/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-5.0.0.1/lib/active_support/xml_mini.rb:52: warning: constant ::Bignum is deprecated
/Users/hogehoge/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-5.0.0.1/lib/active_support/core_ext/numeric/conversions.rb:138: warning: constant ::Fixnum is deprecated
Expected string default value for '--jbuilder'; got true (boolean)
Expected string default value for '--helper'; got true (boolean)
Expected string default value for '--assets'; got true (boolean)
create app/controllers/skills_controller.rb
invoke erb
create app/views/skills
invoke rspec
create spec/controllers/skills_controller_spec.rb
invoke helper
create app/helpers/skills_helper.rb
invoke rspec
create spec/helpers/skills_helper_spec.rb
invoke assets
invoke coffee
create app/assets/javascripts/skills.coffee
invoke scss
create app/assets/stylesheets/skills.scss
```
おお、出来た