Project

General

Profile

Actions

Patch #30725

closed

Plugin eager_load should depend on environment setting instead of name

Added by Florian Schwab about 5 years ago. Updated about 5 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Rails support
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:

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

plugin_eager_load.patch (692 Bytes) plugin_eager_load.patch Marius BĂLTEANU, 2019-01-31 12:14

Related issues

Related to Redmine - Defect #26636: Rails 5: "Page not found" error when accessing a page of a plugin in production modeClosedJean-Philippe Lang

Actions
Related to Redmine - Defect #30753: Plugins auto_load and eager_load pathsClosedGo MAEDA

Actions
Actions #1

Updated by Florian Schwab about 5 years ago

Sorry, I forgot to change the tracker to Patch.

Actions #2

Updated by Go MAEDA about 5 years ago

  • Tracker changed from Defect to Patch
Actions #4

Updated by Marius BĂLTEANU about 5 years ago

Fixed the extension name in order to be able to preview the patch in browser.

Actions #5

Updated by Marius BĂLTEANU about 5 years ago

  • File deleted (plugin_eager_load.path)
Actions #6

Updated by Go MAEDA about 5 years ago

  • Category set to Rails support
  • Target version set to 4.0.2

Setting the target version to 4.0.2.

Actions #7

Updated by Go MAEDA about 5 years ago

  • Related to Defect #26636: Rails 5: "Page not found" error when accessing a page of a plugin in production mode added
Actions #8

Updated by Go MAEDA about 5 years ago

  • Status changed from New to Resolved
  • Assignee set to Go MAEDA

Committed. Thank you for detecting and fixing the issue.

Actions #9

Updated by Go MAEDA about 5 years ago

  • Status changed from Resolved to Closed
Actions #10

Updated by Go MAEDA about 5 years ago

  • Related to Defect #30753: Plugins auto_load and eager_load paths added
Actions

Also available in: Atom PDF