나는 깔끔한 파일 구조를 유지하기 위해레일 5 - 중첩 된
레일 (5)에서 응용 프로그램을 만들려고 노력하고있어, 내 컨트롤러 디렉토리 안에 폴더를 만들려고 경로와 컨트롤러, 내가 할 수있는 그 유사한 자원을 그룹화하는 데 사용하십시오.
예를 들어, 내가 가진 :
app/controllers/users/users_controller.rb
나는 다음 사용자와 관련된 모든 리소스를 사용자 폴더 아래에 그룹화되도록 내 세션 컨트롤러는 컨트롤러/사용자 디렉터 안에 중첩 할 수 있습니다.
내 경로 파일과 관련하여 꼼짝 못하게되었습니다. 내가 경로를 긁어 때
, 내가 볼 수 있습니다 : 내 루트 파일에서
users#index {:controllers=>{:users=>"users/users"}}
POST /users(.:format) users#create {:controllers=>{:users=>"users/users"}}
new_user GET /users/new(.:format) users#new {:controllers=>{:users=>"users/users"}}
edit_user GET /users/:id/edit(.:format) users#edit {:controllers=>{:users=>"users/users"}}
user GET /users/:id(.:format) users#show {:controllers=>{:users=>"users/users"}}
PATCH /users/:id(.:format) users#update {:controllers=>{:users=>"users/users"}}
PUT /users/:id(.:format) users#update {:controllers=>{:users=>"users/users"}}
DELETE /users/:id(.:format) users#destroy {:controllers=>{:users=>"users/users"}}
을, 나는 몇 가지 (아래에 제시)을 시도했습니다 - 그들 중 누구도 작동하지 :
Rails.application.routes.draw do
devise_for :users,
:controllers => {
:sessions => 'users/sessions',
:registrations => "users/registrations",
:omniauth_callbacks => 'users/omniauth_callbacks'
}
resources :identities,
:controllers => {
:identities => 'users/identities'
}
resources :users do
scope module: :users do
resources :users
end
end
root 'home#index'
end
나는 또한 시도 :
을 :resources :users,
:controllers => {
:users => 'users/users'
}
때마다, 나는 말한다 오류가
ActionController::RoutingError at /users
uninitialized constant UsersController
이 작업을 수행하기 위해 내가 무엇을해야하는지 모르겠습니다.
Users::
사람이 내가 깔끔하게 정리 내 파일을 보관할 수 있도록이를 설정하는 방법을 볼 수 : 컨트롤러/사용자의 접두어로 폴더 안에 나는 중첩되어 내 컨트롤러의 각을 변경 한?
참고 : 모델 폴더에 동일한 파일 디렉토리 구조를 만들지 않았습니다. 내가 원한다면 -하지만 나는 컨트롤러에 대해 이것을 이해할 수 없다고 우려하고있다. 누구든지 내가 뭘 잘못하고 있는지 알 수 있니?
기본 컨트롤러 디렉토리에 실제'users_controller'를 넣고 중첩 컨트롤러를'users' 디렉토리 안에 넣는 것 (즉, 중첩과 동일한 구조를 따르는 것)을 권장합니다. –