Вся документация, включающая scope module: "etc"
, использует только один уровень вложенности.
Использование 2 уровней вложенности scope
было не таким, как предполагалось. Это ошибка, что Rails не замечает этих ошибок при разработке.
Чтобы получить нужные ошибки, измените некоторые параметры конфигурации в файле development.rb
. Обратите внимание, чем они отличаются от вашего production.rb
файла.
# config/environments/development.rb
Rails.application.configure do
# In the development environment your application's code is reloaded on
# every request. This slows down response time but is perfect for development
# since you don't have to restart the web server when you make code changes.
config.cache_classes = false
# Do not eager load code on boot.
config.eager_load = false
# Show full error reports and disable caching.
config.consider_all_requests_local = true
config.action_controller.perform_caching = false
# more code
end
К
# config/environments/production.rb
Rails.application.configure do
# Code is not reloaded between requests.
config.cache_classes = true
# Eager load code on boot.
# This eager loads most of Rails and your application in memory,
# allowing both threaded web servers and those relying on copy on write to perform better.
# Rake tasks automatically ignore this option for performance.
config.eager_load = true
# Full error reports are disabled and caching is turned on.
config.consider_all_requests_local = false
config.action_controller.perform_caching = true
# more code
end