Patch #30725
closedPlugin eager_load should depend on environment setting instead of name
Description
Currently the app directories are added to the eager_load paths if the environment name is production.
see: source:trunk/lib/redmine/plugin.rb@17293#96
The decision to add the path to the eager_load paths should depend on the_ eager_load_ setting (Rails.application.config.eager_load) instead of the environment name.
Rails 5 disables autoloading in case eager_load is enabled so using a different environment (e.g. staging) that also enables eager_load will result in plugin classes (e.g. models) are not loaded (uninitialized constant) in this environment.
The attached patch fixes this to use the eager_load setting to decide if the paths should be added to eager_load.
Files
Related issues
Updated by Florian Schwab over 5 years ago
Sorry, I forgot to change the tracker to Patch.
Updated by Marius BĂLTEANU over 5 years ago
- File plugin_eager_load.patch plugin_eager_load.patch added
Updated by Marius BĂLTEANU over 5 years ago
Fixed the extension name in order to be able to preview the patch in browser.
Updated by Marius BĂLTEANU over 5 years ago
- File deleted (
plugin_eager_load.path)
Updated by Go MAEDA over 5 years ago
- Category set to Rails support
- Target version set to 4.0.2
Setting the target version to 4.0.2.
Updated by Go MAEDA over 5 years ago
- Related to Defect #26636: Rails 5: "Page not found" error when accessing a page of a plugin in production mode added
Updated by Go MAEDA over 5 years ago
- Status changed from New to Resolved
- Assignee set to Go MAEDA
Committed. Thank you for detecting and fixing the issue.
Updated by Go MAEDA over 5 years ago
- Related to Defect #30753: Plugins auto_load and eager_load paths added