2012-01-02 24 views
1

私のアプリには2つのDeviseモデル(医者と患者)があります。そして、私はそれぞれのコントローラの2つの異なるセットを持っています。現時点では、私はちょうどこのような各コントローラの接頭辞: PatientRegistrationsController、DoctorRegistrationsControllerなどコントローラの名前または接頭辞

しかし、今私はより良いアプリケーションの組織と構造のために名前空間を使用することについて考えています。たとえば、Patient :: RegistrationsController、Doctor :: SessionsControllerなどです。

コントローラで使用する戦略(ネームスペースまたはプレフィックス名)を決定する際に役立ちます。名前空間のどこに問題がありますか?

+1

使用名前空間、複数の彼らは衝突しないように、モデル:Patients :: RegistrationsController、Doctors :: SessionsController。私は通常これを行い、そのセクションのすべてのコントローラを対応する名前空間に追加します – clyfe

+0

ありがとう! 1つの質問:InheritedResources gemと一緒に演奏する名前空間の経験はありますか? – tipugin

+0

私が見ているように、ここにいくつかの問題がありますhttp://gunnertech.com/2011/09/rails-3-on-namespaces-rspec-and-inherited-resources/ – tipugin

答えて

1

あなたは別々のフォルダにコントローラを置き、別のルートを経由してアクセス...

FEできhttp://guides.rubyonrails.org/routing.html#controller-namespaces-and-routing

を参照してください。

namespace :doctor do 
    resources :data_entries 
end 
# => http://test.com/doctor/data_entries 
# => controller is in app/doctor/data_entries_controller.rb 

namespace :patient do 
    resources :data_entries 
end 
# => http://test.com/patient/data_entries 
# => controller is in app/patient/data_entries_controller.rb 
関連する問題