簡體   English   中英

Rails可以收集所有路線

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM