Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
2
Help us understand the problem. What is going on with this article?
@kiyodori

RSpecを実行するとMissing helper fileと表示される

More than 5 years have passed since last update.

問題

RSpecを実行したところ、下記のエラーが表示された。

$ bundle exec rspec spec
/home/websites/sites/vendor/bundle/ruby/2.2.0/gems/actionpack-4.1.5/lib/abstract_controller/helpers.rb:154:in `rescue in block in modules_for_helpers': Missing
helper file helpers//home/websites/sites/app/helpers/application_helper.rb_helper.rb (AbstractController::Helpers::MissingHelperError)
        from /home/websites/sites/vendor/bundle/ruby/2.2.0/gems/actionpack-4.1.5/lib/abstract_controller/helpers.rb:151:in `block in modules_for_helpers'
        from /home/websites/sites/vendor/bundle/ruby/2.2.0/gems/actionpack-4.1.5/lib/abstract_controller/helpers.rb:147:in `map!'
        from /home/websites/sites/vendor/bundle/ruby/2.2.0/gems/actionpack-4.1.5/lib/abstract_controller/helpers.rb:147:in `modules_for_helpers'
        from /home/websites/sites/vendor/bundle/ruby/2.2.0/gems/actionpack-4.1.5/lib/action_controller/metal/helpers.rb:93:in `modules_for_helpers'
        from /home/websites/sites/vendor/bundle/ruby/2.2.0/gems/actionpack-4.1.5/lib/abstract_controller/helpers.rb:111:in `helper'
        from /home/websites/sites/vendor/bundle/ruby/2.2.0/gems/actionpack-4.1.5/lib/action_controller/railties/helpers.rb:17:in `inherited'
        from /home/websites/sites/vendor/bundle/ruby/2.2.0/gems/actionview-4.1.5/lib/action_view/test_case.rb:9:in `<class:TestCase>'
        from /home/websites/sites/vendor/bundle/ruby/2.2.0/gems/actionview-4.1.5/lib/action_view/test_case.rb:8:in `<module:ActionView>'
        from /home/websites/sites/vendor/bundle/ruby/2.2.0/gems/actionview-4.1.5/lib/action_view/test_case.rb:6:in `<top (required)>'
        from /home/websites/sites/vendor/bundle/ruby/2.2.0/gems/rspec-rails-3.1.0/lib/rspec/rails/example/helper_example_group.rb:9:in `<module:HelperExampleGro
up>'
        from /home/websites/sites/vendor/bundle/ruby/2.2.0/gems/rspec-rails-3.1.0/lib/rspec/rails/example/helper_example_group.rb:6:in `<module:Rails>'
        from /home/websites/sites/vendor/bundle/ruby/2.2.0/gems/rspec-rails-3.1.0/lib/rspec/rails/example/helper_example_group.rb:4:in `<module:RSpec>'
        from /home/websites/sites/vendor/bundle/ruby/2.2.0/gems/rspec-rails-3.1.0/lib/rspec/rails/example/helper_example_group.rb:3:in `<top (required)>'
        from /home/websites/sites/vendor/bundle/ruby/2.2.0/gems/activesupport-4.1.5/lib/active_support/dependencies.rb:247:in `require'
        from /home/websites/sites/vendor/bundle/ruby/2.2.0/gems/activesupport-4.1.5/lib/active_support/dependencies.rb:247:in `block in require'
        from /home/websites/sites/vendor/bundle/ruby/2.2.0/gems/activesupport-4.1.5/lib/active_support/dependencies.rb:232:in `load_dependency'
        from /home/websites/sites/vendor/bundle/ruby/2.2.0/gems/activesupport-4.1.5/lib/active_support/dependencies.rb:247:in `require'
        from /home/websites/sites/vendor/bundle/ruby/2.2.0/gems/rspec-rails-3.1.0/lib/rspec/rails/example.rb:4:in `<top (required)>'
        from /home/websites/sites/vendor/bundle/ruby/2.2.0/gems/activesupport-4.1.5/lib/active_support/dependencies.rb:247:in `require'
        from /home/websites/sites/vendor/bundle/ruby/2.2.0/gems/activesupport-4.1.5/lib/active_support/dependencies.rb:247:in `block in require'
        from /home/websites/sites/vendor/bundle/ruby/2.2.0/gems/activesupport-4.1.5/lib/active_support/dependencies.rb:232:in `load_dependency'
        from /home/websites/sites/vendor/bundle/ruby/2.2.0/gems/activesupport-4.1.5/lib/active_support/dependencies.rb:247:in `require'
        from /home/websites/sites/vendor/bundle/ruby/2.2.0/gems/rspec-rails-3.1.0/lib/rspec/rails.rb:8:in `<top (required)>'
        from /home/websites/sites/vendor/bundle/ruby/2.2.0/gems/activesupport-4.1.5/lib/active_support/dependencies.rb:247:in `require'
        from /home/websites/sites/vendor/bundle/ruby/2.2.0/gems/activesupport-4.1.5/lib/active_support/dependencies.rb:247:in `block in require'
        from /home/websites/sites/vendor/bundle/ruby/2.2.0/gems/activesupport-4.1.5/lib/active_support/dependencies.rb:232:in `load_dependency'
        from /home/websites/sites/vendor/bundle/ruby/2.2.0/gems/activesupport-4.1.5/lib/active_support/dependencies.rb:247:in `require'
        from /HOME/websites/sites/spec/rails_helper.rb:12:in `<top (required)>'
        from /HOME/websites/sites/spec/controllers/admin/messages_controller_spec.rb:1:in `require'
        from /HOME/websites/sites/spec/controllers/admin/messages_controller_spec.rb:1:in `<top (required)>'
        from /home/websites/sites/vendor/bundle/ruby/2.2.0/gems/rspec-core-3.1.7/lib/rspec/core/configuration.rb:1105:in `load'
        from /home/websites/sites/vendor/bundle/ruby/2.2.0/gems/rspec-core-3.1.7/lib/rspec/core/configuration.rb:1105:in `block in load_spec_files'
        from /home/websites/sites/vendor/bundle/ruby/2.2.0/gems/rspec-core-3.1.7/lib/rspec/core/configuration.rb:1105:in `each'
        from /home/websites/sites/vendor/bundle/ruby/2.2.0/gems/rspec-core-3.1.7/lib/rspec/core/configuration.rb:1105:in `load_spec_files'
        from /home/websites/sites/vendor/bundle/ruby/2.2.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:96:in `setup'
                from /home/websites/sites/vendor/bundle/ruby/2.2.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:84:in `run'
        from /home/websites/sites/vendor/bundle/ruby/2.2.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:66:in `rescue in run'
        from /home/websites/sites/vendor/bundle/ruby/2.2.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:62:in `run'
        from /home/websites/sites/vendor/bundle/ruby/2.2.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:37:in `invoke'
        from /home/websites/sites/vendor/bundle/ruby/2.2.0/gems/rspec-core-3.1.7/exe/rspec:4:in `<top (required)>'
        from /home/websites/sites/vendor/bundle/ruby/2.2.0/bin/rspec:23:in `load'
        from /home/websites/sites/vendor/bundle/ruby/2.2.0/bin/rspec:23:in `<main>'F

原因

どうもruby 2.2.0.から発生するバグらしい。

まず、rails consoleでパスを確認する。

$ rails console
[1] pry(main)> File.expand_path ("./")
=> "/HOME/websites/sites"

次に、rails consoleを終了してターミナルで現在のパスを調べる。

$ pwd
/home/websites/sites

なぜかファイル名が違う。active supportの正規表現のバグみたい。

解決策

名前を付け直してやるとエラーが発生しなくなった。

$ mv /home /home1
$ mv /home1 /home

もしくは、大文字になっているファイルを一度rmして、再度作りなおすのでも大丈夫みたい。

参考

Strange error in rails - missing helper

2
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
kiyodori
サーバーサイドエンジニア。「ゼロから実践するAmazon Web Services(https://www.udemy.com/course/aws-and-infra/)」「もう怖くないGit!チーム開発で必要なGitを完全マスター(https://www.udemy.com/course/unscared_git/)」の講師。プログラミング学習サービス「独学エンジニア」を運営中。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
2
Help us understand the problem. What is going on with this article?