2011-11-14 7 views
0

Railsのカスタムディレクトリ内のコントローラとの3つのデフォルトルート

match '/:controller(/:action(/:id))' 

事は、このように、私のコントローラは異なるフォルダに配置されていることである。

/myapp/app/controller/admin/base_controller.rb 

しかし、Railsはデフォルトルートでこれらのコントローラを認識していないようですが、コントローラが 'myapp/app/controller/some_controller.rb'にある場合はコントローラを認識します。

答えて

0

私は内デフォルトルートを含む、あなたの各ディレクトリの名前空間を追加する必要があると思う:あなたはおそらく、ディレクトリとファイルのクラスを使用して、あなたのディレクトリ構造を調べることによって、プログラムでそれを行うことができ

namespace :admin do 
    match '/:controller(/:action(/:id))' 
end 

namespace :something_else do 
    match '/:controller(/:action(/:id))' 
end 

。どちらの場合でも、そうする強い理由がない限り、デフォルトルートを使用しないことをお勧めします。

関連する問題