私のアプリケーションでは、私は助成金を持っていて、URLはroot/grantts/grant_idの代わりにroot/grant_idにします。私は私のルートルートの順序は、どのコントローラにアクセスするのに影響しますか?
私はエラー「グラントが見つかりませんでした」を取得resources :grants, :path => '' do
ライン以下
resources :matches
を入れ
Rails.application.routes.draw do
...
root 'static_pages#welcome'
# get 'home' => 'static_pages#home'
get 'about' => 'static_pages#about'
get 'faq' => 'static_pages#faq'
get 'signup' => 'users#new'
get 'login' => 'sessions#new'
post 'login' => 'sessions#create'
delete 'logout' => 'sessions#destroy'
get 'dashboard' => 'dashboard#index'
resources :users do
resources :projects
member do
get 'access_granted'
put 'access_granted'
get 'remove_access'
put 'remove_access'
end
end
resources :profiles
resources :account_activations, only: [:edit]
resources :password_resets, only: [:new, :create, :edit, :update]
resource :request_access, only: [:show, :new, :create]
resources :grants, :path => '' do
resources :app_types do
resources :submissions
end
end
get 'grants' => 'grants#index'
resources :matches
end
でこれを持って、私はそのリクエストパラメータが{「コントローラ」=>「助成金」 ている参照してください。 "action" => "show"、 "id" => "matches"}。私がresources :matches
を許可ラインの上に置くと、すべて正常に動作します。権限付与ルートの中の何かが閉じるのではなく、その下にあるすべての行に強制的なコントローラを探すよう強制されています。単純な解決策は、その行の上にあるすべてのものを保持することですが、なぜこれが起こっているのか理解しようとしています。
grants GET / grants#index
GET /grants(.:format) grants#index
ので、2つの質問 1は、次のとおりです:パス=>「」正しい方法に
はまた、私は補助金として交付#インデックスを定義していても、私はルートを熊手とき、私が見ていることに気づきました助成金/ URLの一部を削除してください。
2.グラントのルートの下のすべてがグラントのコントローラに送信されるのはなぜですか?ドキュメントから