[英]Rails is there a way to collect all routes
我以這個為例: https : //github.com/toshimaru/Rails-4-Twitter-Clone
路由文件如下所示:
Rails.application.routes.draw do
root 'static_pages#home'
resources :users do
member do
get :following, :followers
end
end
resources :sessions, only: [:new, :create, :destroy]
resources :tweets, only: [:index, :create, :destroy]
resources :relationships, only: [:create, :destroy]
get 'signup' => 'users#new'
get 'signin' => 'sessions#new'
delete 'signout' => 'sessions#destroy'
get 'about' => 'static_pages#about'
match '*path' => 'application#routing_error', via: :all
end
似乎在某些控制器中有注釋提及其使用的路由,但是未在路由文件中指定。 例如:
# GET /users
def index
@users = User.all
end
# GET /users/1
def show
@tweet = current_user.tweets.build if signed_in?
@feed_items = @user.tweets.paginate(page: params[:page])
end
(在users_controller.rb
)
我的問題是,Rails應用程序如何知道這里有一個端點? 我想知道我是否真的可以在一個文件中收集所有路由?
我打算做的是,我想用所有路由替換當前的routes.rb
文件。
resources :users
已自動為您創建了所有RESTful路由,盡管您可以將其限制為僅某些路由(如您的示例中的會話,推文和關系所示)。
您可以從控制台查看所有路由...在項目的根目錄中可以進行rake routes
看到這里的解釋...
http://guides.rubyonrails.org/routing.html#listing-existing-routes
您可以在應用程序中訪問rake routes
的輸出。
output = `rake routes`
(請注意上面使用反引號)
它在路由文件中指定
我們什么時候寫
resources :users
它為指定資源創建CRUD路由,即索引,新建,創建,顯示,編輯,更新,銷毀資源的路由,在這種情況下,資源為user
。 您可以按以下方式查看用戶的所有路線
rake routes | grep 'users'
並列出應用程序中的所有路線
rake routes
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.