相关疑难解决方法(0)

Rails 3.0.9 + Devise + Cucumber + Capybara臭名昭着的"没有路线匹配/用户/ sign_out"

我正在使用带有rails 3.0.9,cucumber-rails 1.0.2,capybara 1.0.0的设计1.4.2.我有No route matches "/users/sign_out"错误,当我点击注销.:method => :delete经过这样的问题(no-route-matches-users-sign-out-devise-rails-3)后,我添加了link_to标签.

由于我用jquery替换了原型,我也不得不改变

config.action_view.javascript_expansions[:defaults] = %w(jquery rails)
Run Code Online (Sandbox Code Playgroud)

config.action_view.javascript_expansions[:defaults] = %w(jquery jquery_ujs)
Run Code Online (Sandbox Code Playgroud)

绕过rails.js找不到错误.

虽然有了上述更改,但我能够成功注销并重定向到root,当我在FireBug中查看localhost:3000/users/sign_out请求的响应时,它会显示相同的路由错误消息单击此处以查看带有注释的屏幕截图

通过设计成功实现对rails 3 app的身份验证后,当我按照本教程(github.com/RailsApps/rails3-devise-rspec-cucumber/wiki/Tutorial)使用Cucumber + Capybara + RSpec添加功能和规格时,出现以下错误

When I sign in as "user@test.com/please"                              # features/step_definitions/user_steps.rb:41
Then I should be signed in                                            # features/step_definitions/user_steps.rb:49
And I sign out                                                        # features/step_definitions/user_steps.rb:53
  No route matches "/users/sign_out" (ActionController::RoutingError)
  <internal:prelude>:10:in `synchronize'
  ./features/step_definitions/user_steps.rb:55:in `/^I sign out$/'
  features/users/sign_out.feature:10:in `And I sign out'
And I should see "Signed …
Run Code Online (Sandbox Code Playgroud)

rspec cucumber devise capybara ruby-on-rails-3

26
推荐指数
4
解决办法
7846
查看次数

标签 统计

capybara ×1

cucumber ×1

devise ×1

rspec ×1

ruby-on-rails-3 ×1