2011-02-27 43 views
2

我有這樣的代碼在我routes.db文件:不能使用外資源(S)範圍成員(引發ArgumentError)

resources :users do 
    member do 
    get :following, :followers 
    end 
end 

,我得到的錯誤:

can't use member outside resource(s) scope (ArgumentError) 

怎麼辦我解決這個問題?

更新:這是所有的代碼,我routes.db文件:

SampleApp::Application.routes.draw do 
get "sessions/new" 

resources :users 
member do 
    get :following, :followers 
end 

resources :sessions, :only => [:new, :create, :destroy] 
resources :microposts, :only => [:create, :destroy] 
resources :relationships, :only => [:create, :destroy] 

match '/signup', :to => 'users#new' 
match '/signin', :to => 'sessions#new' 
match '/signout', :to => 'sessions#destroy' 

match '/contact', :to => 'pages#contact' 
match '/about', :to => 'pages#about' 
match '/help', :to => 'pages#help' 

root :to => 'pages#home' 
+0

是你的routes.rb文件中的_only_代碼嗎? – 2011-02-27 22:50:12

+0

nope,只是轉載了所有的代碼 – 2011-02-27 22:55:15

回答

5

在你的代碼有以下幾點:

resources :users 
member do 
    get :following, :followers 
end 

這意味着你缺少do語句和結束聲明爲您的資源聲明,將其更改爲:

resources :users do 
    member do 
    get :following, :followers 
    end 
end 

此外,您錯過了最後的結局爲Application.routes.draw做聲明。