Wie greife ich über die Hauptanwendung auf Rails-Engines-Methoden zu?

Ich versuche, die in der Spree :: Core-Engine definierte current_order-Methode zu verwenden:https://github.com/spree/spree/blob/master/core/lib/spree/core/current_order.rb

Aus meiner Sicht habe ich es versucht

Spree::Core::CurrentOrder.current_order

Die Verwendung von "current_order" in der Entwicklung funktioniert zwar einwandfrei, jedoch nicht in der Produktion.

Also habe ich versucht, es in meiner Views-Datei so zu fordern:

require 'spree/core/current_order'

Ich habe auch Permutationen dieser anderen Lösungen ausprobiert:

Wie binde ich Rails Engine ApplicationController-Methoden in eine Haupt-App ein?

Eine Möglichkeit, before_filter von der Engine zur Anwendung hinzuzufügen

Rails 3.1: Besserer Weg, den Helfer einer Engine in der Client-App sichtbar zu machen

Aber ich habe den Überblick verloren, was ich tatsächlich getan habe.

Kann mich bitte jemand in die richtige Richtung weisen? Vielleicht habe ich die Lösungen in den obigen Links falsch implementiert?

Dies ist der Fehler, den ich in der Produktion bekomme:

2012-06-21T09: 59: 08 + 00: 00 app [web.1]: ActionView :: Template :: Error (undefinierte Methode `current_order 'für Spree :: Core :: CurrentOrder: Module):

Wenn ich die Codezeilen mit current_order auskommentiere, funktioniert alles in der Produktion.

Ich denke, es ist die Art und Weise, wie Dinge in der Produktion geladen werden? Es ist jedoch das erste Mal, dass ich eine Bereitstellung versuche, damit ich die Unterschiede zwischen Entwicklung und Produktion nicht ganz verstehe.

Danke im Voraus!

Antworten auf die Frage(1)

Ihre Antwort auf die Frage