ruby-on-rails-3 – 更新到Rails 3.2.6或Rspec 2.11.0时的路由错误

前端之家收集整理的这篇文章主要介绍了ruby-on-rails-3 – 更新到Rails 3.2.6或Rspec 2.11.0时的路由错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
升级到Rails 3.2.6或Rspec 2.11.0后,我的规范开始显示如下的路由错误
4) UsersController GET activate activation code not exist 
     Failure/Error: subject{ get :activate }
     ActionController::RoutingError:
       No route matches {:controller=>"users",:action=>"activate"}

每个钩子错误之后还有一个

An error occurred in an after(:each) hook
  RSpec::Mocks::MockExpectationError: (#<EmailSubscriber[...]>).update_attributes({:enable=>true})
    expected: 1 time
    received: 0 times
  occurred at [...]/spec/controllers/users_controller_spec.rb:75:in `block (3 levels) in <top (required)>'

开发模式下的应用程序运行良好.

解决方法

Rspec 2.11.0和Rails 3.2.6都使用最新的Journey gem(1.0.4).它有一些问题,并通过明确地将其锁定到以前的版本,规范错误消失.
gem 'journey','1.0.3'

UPDATE

我最近使用Journey 1.0.4将Rails更新为3.2.11,并且所有规范都通过了.我的Rspec是2.11.0因此,不再需要下载旅程,只需更新Rails即可.

猜你在找的Ruby相关文章