1
看來了一堆我Rspec的我的應用程序移動到Rspec的2.3測試後,現在無法和Rails 3.0.3Rspec 2.3的Rails 3.0.3給一些控制器訪問問題?
一個例子是在這裏:
it "should not be able to access 'destroy'" do
delete :destroy
response.should redirect_to(signin_path)
flash[:error].should == "You must be signed in to view this page."
end
會給我的錯誤:
1) FriendshipsController when not logged in: should not be able to access 'destroy'
Failure/Error: delete :destroy
No route matches {:controller=>"friendships", :action=>"destroy"}
# ./spec/controllers/friendships_controller_spec.rb:21:in `block (3 levels) in <top (required)>'
在我的routes.rb文件,我已經規劃的資源爲這個控制器...
resources :friendships
同爲
get :edit
get :show
put :update
只有一個,似乎工作是
post :create
但是,這我不能肯定100%。
有什麼想法?謝謝你的時間!
UPDATE:
get :new
也工作和我的UserSessions控制器(Authlogic)似乎不存在這種問題的困擾。在我的UserSession控制器,模型或測試中,我沒有做過任何不同的事情。
是啊,工作。看起來Rails 3不能識別需要參數的HTML方法的路由,除非有參數。 – hahuang65 2010-12-21 03:12:21