的Rails版本3.0.4找到路徑和Ruby 1.9.2的Rails不能在功能測試
我使用的色器件的寶石,並有我的應用程序設置,使用戶必須登錄到執行任何行動。在寫我的功能測試時,我發現所有的測試都拋出了相同的錯誤。
`method_missing': undefined method `new_user_session_path'
這是奇怪的,如果我rake routes
我可以看到
new_user_session GET /devise/login(.:format) {:action=>"new", :controller=>"devise/sessions"}
我還可以確認的是,當我運行應用程序,所有的link_to
的工作中,使用這條道路的時候。
是否有什麼特殊的我必須做的某個控制器的測試看到其他路線?
的routes.rb
Nge::Application.routes.draw do
resources :companies
resources :users
devise_for :users, :path => "devise", :path_names => { :sign_in => 'login', :sign_out => 'logout', :password => 'secret', :confirmation => 'verification', :unlock => 'unblock', :registration => 'register', :sign_up => 'cmon_let_me_in' }
...
end
測試/功能/ companies_controller_test.rb
require 'test_helper'
class CompaniesControllerTest < ActionController::TestCase
context "When a user is NOT signed in" do
[:index, :new].each do |action|
context "and GET ##{action.to_s}" do
setup {get action}
should set_the_flash.to(/must sign-up/)
should redirect_to(new_user_session_path)
end
end
...
end
end
試了一下,沒有工作。我試圖確保沒有任何路徑發生衝突,因爲它不符合它們的順序。謝謝。 – 2011-02-28 15:36:38