【发布时间】:2012-06-23 13:16:15
【问题描述】:
我正在尝试使用 Spree::Core 引擎中定义的 current_order 方法: https://github.com/spree/spree/blob/master/core/lib/spree/core/current_order.rb
在我看来,我已经尝试过了
Spree::Core::CurrentOrder.current_order
在开发中只使用“current_order”可以正常工作,但在生产中不行。
然后我尝试在我的视图文件中要求它,如下所示:
require 'spree/core/current_order'
我也尝试了这些其他解决方案的排列:
How to incorporate Rails Engine ApplicationController methods in a main app?
A way to add before_filter from engine to application
Rails 3.1: Better way to expose an engine's helper within the client app
但我已经忘记了我实际上做了什么。
有人可以指出我正确的方向吗?也许我错误地实现了上述链接中的解决方案?
这是我在生产中遇到的错误:
2012-06-21T09:59:08+00:00 app[web.1]: ActionView::Template::Error(Spree::Core::CurrentOrder:Module 的未定义方法“current_order”):
如果我用 current_order 注释掉代码行,一切都可以在生产环境中运行。
我认为这是在生产中加载事物的方式?但这是我第一次尝试部署,所以我不太了解开发和生产之间的区别。
提前致谢!
【问题讨论】:
标签: ruby-on-rails methods spree rails-engines