LoginSignup
3
3

More than 5 years have passed since last update.

$rake db:migrate時にrake aborted! NoMethodError: undefined method `last_comment'が表示された時の解決方法

Posted at

エラーが出た状況

cloud9を使用し、Ruby on railsのアプリ開発をしているrails2か月目の初心者です。

マイグレーションを実行しようとしたところ、このようなエラーが出てしまいました。

$ rake db:migrate
rake aborted!
NoMethodError: undefined method `last_comment' for #<Rake::Application:xxxxxxxxxx>
/usr/local/rvm/gems/ruby-2.4.1/gems/rspec-core-3.1.7/lib/rspec/core/rake_task.rb:104:in `define'
/usr/local/rvm/gems/ruby-2.4.1/gems/rspec-core-3.1.7/lib/rspec/core/rake_task.rb:80:in `initialize'
/usr/local/rvm/gems/ruby-2.4.1/gems/rspec-rails-3.1.0/lib/rspec/rails/tasks/rspec.rake:11:in `new'
/usr/local/rvm/gems/ruby-2.4.1/gems/rspec-rails-3.1.0/lib/rspec/rails/tasks/rspec.rake:11:in `<top (required)>'
/usr/local/rvm/gems/ruby-2.4.1/gems/rspec-rails-3.1.0/lib/rspec-rails.rb:13:in `load'
/usr/local/rvm/gems/ruby-2.4.1/gems/rspec-rails-3.1.0/lib/rspec-rails.rb:13:in `block in <class:Railtie>'
/usr/local/rvm/gems/ruby-2.4.1/gems/railties-5.0.7/lib/rails/railtie.rb:239:in `instance_exec'
/usr/local/rvm/gems/ruby-2.4.1/gems/railties-5.0.7/lib/rails/railtie.rb:239:in `block in run_tasks_blocks'
/usr/local/rvm/gems/ruby-2.4.1/gems/railties-5.0.7/lib/rails/railtie.rb:247:in `each'
/usr/local/rvm/gems/ruby-2.4.1/gems/railties-5.0.7/lib/rails/railtie.rb:247:in `each_registered_block'
/usr/local/rvm/gems/ruby-2.4.1/gems/railties-5.0.7/lib/rails/railtie.rb:239:in `run_tasks_blocks'
/usr/local/rvm/gems/ruby-2.4.1/gems/railties-5.0.7/lib/rails/application.rb:442:in `block in run_tasks_blocks'
/usr/local/rvm/gems/ruby-2.4.1/gems/railties-5.0.7/lib/rails/engine/railties.rb:13:in `each'
/usr/local/rvm/gems/ruby-2.4.1/gems/railties-5.0.7/lib/rails/engine/railties.rb:13:in `each'
/usr/local/rvm/gems/ruby-2.4.1/gems/railties-5.0.7/lib/rails/application.rb:442:in `run_tasks_blocks'
/usr/local/rvm/gems/ruby-2.4.1/gems/railties-5.0.7/lib/rails/engine.rb:457:in `load_tasks'
/home/ec2-user/environment/kyounogohan/Rakefile:6:in `<top (required)>'
/usr/local/rvm/gems/ruby-2.4.1/gems/rake-12.3.1/exe/rake:27:in `<top (required)>'
/usr/local/rvm/gems/ruby-2.4.1/bin/ruby_executable_hooks:24:in `eval'
/usr/local/rvm/gems/ruby-2.4.1/bin/ruby_executable_hooks:24:in `<main>'
(See full trace by running task with --trace)

解決方法

以下のサイトを参考にしました
最初の RSpec テストが失敗する場合

Gemfileに以下のように追加する。


(略)
gem 'rake', '< 11.0'

そのあと、ターミナルで以下を実行。

$ bundle update rake

もう一度、マイグレーション。

$ rake db:migrate
== 20180907133239 CreateTags: migrating =======================================
-- create_table(:tags)
   -> 0.0123s
== 20180907133239 CreateTags: migrated (0.0131s) ==============================

== 20180907133339 CreatePostTagRelations: migrating ===========================
-- create_table(:post_tag_relations)
   -> 0.0328s
== 20180907133339 CreatePostTagRelations: migrated (0.0378s) ==================

Annotated (4): app/models/post_tag_relation.rb, spec/models/post_tag_relation_spec.rb, app/models/tag.rb, spec/models/tag_spec.rb

うまくいきましたー!サイトで教えてくださった方様様です。
GemfileにRakeを記述していないとああいうエラーが出るのでしょうか。
原因説明までできておりませんが、今日のエラーは以上です。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3