2011-07-28 44 views
0

寻找一点帮助理解这条路线如何工作?Rails 3:这条路线是做什么的?

新航线:

resources :artists do 
    resources :users 
end 

整个路线

resources :artists do 
    resources :users 
    end 

    match 'auth/:provider/callback' => 'authentications#create' 
    resources :authentications 

    devise_for :admins 
    match '/admin' => 'RailsAdmin/Main#index' 

    devise_for :users, :controllers => {:registrations => 'registrations'} do 
    match '/users/change_password', :to => 'registrations#change_password' 
    match '/users/edit_account', :to => 'registrations#edit_account' 
    end 


    resources :posts do 
     member do 
     get :likers 
     end 
     collection do 
     get :search 
     end 
    end 

    resources :relationships, :only => [:create, :destroy] 
    resources :appreciations, :only => [:create, :destroy] 

    match '/a_json/:id', :to => 'artists#index' 
    match '/s_json/:id', :to => 'stores#index' 

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


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

    # This is a legacy wild controller route that's not recommended for RESTful applications. 
    # Note: This route will make all actions in every controller accessible via GET requests. 
    # match ':controller(/:action(/:id(.:format)))' 
    match '/:id' => 'users#show', :constraints => {:id => /[^\/]+/}, :as => :global_user 
    root :to => "pages#home" 
end 

回答

1

这将创建嵌套的路线,让您使用的URL像/artists/5/users/45,这将调用UsersController#显示与参数artist_id这是5 ,以及一个参数为id,它的值为45.所有其他通常的RESTful路由也是在单个艺术家下创建的“嵌套”。

Rails实际上有一个工具,用于向您显示已生成的路由:只需运行rake routes即可查看。