Bu modelin bir veya daha fazla örneği çalışma zamanı sırasında varolabilir olsun, bir denetleyicinin bir modeli yönetmesi Rails kuraldır. Bununla birlikte, denetleyicilerin (ve ilişkili görünümlerin) herhangi bir belirli modelle ilişkili olmadığı, bunun yerine daha karmaşık bir işlevsellik kümesini işlediği bir Rails uygulamasına sahip olabilirsiniz. Bu durumda, otomatik çoğullaştırma herhangi bir anlam ifade etmiyor.
Şu anda üzerinde çalıştığım Rails uygulaması bu kategoriye uyuyor ve Rails'in bir yerde tekil olarak tanımladığım tanımlayıcıların daha sonra başka yerlerde çoğul formlarında kullanılmasını beklemesi beni rahatsız ediyor. Örneğin, şuna benzer bir şey tanımlamak isteyebilirim config/routes.rb
:
resource :dashboard, :only => [:show]
ve sonra bir denetleyicinin DashboardController
birden fazla veritabanı tablosundan bilgi toplayarak uygulamanın belirli yönleriyle ilgili özet bilgileri görüntülemesini istiyorum . Yani burada, Dashboard
uygulamanın herhangi bir modeline atıfta bulunulmuyor ve denetleyicinin adının olması garip olurdu DashboardsController
.
Bu cevapta otomatik çoğullaşmanın tahrişine iyi bir çözüm buldum . Kısaca, dosyayı düzenleyin config/initializers/inflections.rb
ve otomatik olarak çoğul olmasını istemediğiniz kelimeleri bu tanıma ekleyin:
ActiveSupport::Inflector.inflections do |inflect|
inflect.uncountable %w( dashboard foo bar baz )
end