테스트를 처음 받았고 기능 테스트를 실행하는 데 어려움을 겪고 있습니다.레일 기능 테스트, 라우팅 오류
여기에는 messages_controller와 user_controller가 있습니다. 경로에 이 있으면 사용자 리소스 has_many 메시지 리소스를 정의했습니다. 그는 메시지에 대한 경로를 찾을 수 없습니다 것을, 레일에서 라우팅 오류를
def test_index
get :index, { :user_id => 1 }
assert_template 'index'
end
을하지만, 얻을 :
는 지금은 메시지 컨트롤러에서 간단한 테스트를 실행하기 위해 노력하고있어. 테스트 때문에 메시지 경로 만 포함하고 싶지 않습니다. 테스트에서/users/messages url에 액세스해야한다고 어떻게 알 수 있습니까?전체 routes.rb :
ActionController::Routing::Routes.draw do |map|
map.login 'login', :controller => :user_sessions, :action => :new
map.logout 'logout', :controller => :user_sessions, :action => :destroy
map.signin 'signin', :controller => :users, :action => :new
map.connect 'search/:action/:word', :controller => :search
map.connect 'search/:word', :controller => :search, :action => :index
map.resources :forums do |forums|
forums.resources :forum_posts, :collection => {:preview => :post }, :as => :posts do |post|
post.resources :forum_posts, :as => :reply
post.resources :reports
end
end
map.resources :newsitems, :as => :news do |news|
news.resources :comments do |comment|
comment.resources :reports
end
end
map.resource :user_sessions
map.resources :users,
:as => :profiles,
:controller => :profiles,
:has_many => [ :messages ]
map.resource :profiles
map.resource :me,
:controller => :me,
:has_many => [ :messages ]
map.resources :comments, :has_many => [ :reports ]
map.resources :forum_posts, :has_many => [ :reports ]
map.resources :reports
map.home '/', :controller => :home
map.root :controller => :home
map.namespace :admin do |admin|
admin.namespace :forum do |forum|
forum.resources :categories
forum.resources :posts
forum.resources :forums
forum.root :controller => :home
end
admin.resources :notices
admin.resources :users
admin.workflow 'workflow/:action', :controller => :workflow
admin.resources :newsitems
admin.resources :reports
admin.resources :comments
admin.root :controller => :home
end
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'
end
UPDATE는
나는 모든 기능 테스트는 라우팅 오류가 나타났습니다. 가장 간단한 것조차 뉴스 항목을 좋아합니다. 나는 이유를 모른다.
많은 엄격 프로필, : 컨트롤러 => : 프로필, : has_many => [=> 등 : messages] 여전히 작동합니까? 왜냐하면 그것은 아니므로 – Tiago
업데이트 주셔서 감사 드리며 반영 할 답변을 업데이트했습니다. –
도움에 감사드립니다! 전체 routes.rb를 추가했습니다. 메시지와 경로가 충돌 할 가능성이 있습니까? 사용자와 컨트롤러가 가지고 있기 때문에? – Tiago