Re: [Rails-core] How to access an engine's method from main application?

39 views
Skip to first unread message

Richard Schneeman

unread,
Jun 21, 2012, 7:12:06 PM6/21/12
to rubyonra...@googlegroups.com
Hey Al,

This list is used for talking about Rails internals for people who are contributing to the Rails framework directly. You will need to post this question to another list. Spree maintains a page with community support links http://spreecommerce.com/community or you can try posting to http://stackoverflow.com. Glad that you're using Rails, hope you find an answer. 

-- 
Richard Schneeman

On Thursday, June 21, 2012 at 3:12 PM, A L wrote:

Hi,

I'm not sure if this is the right place to post this, but please redirect me if I'm posting this in the wrong place.

I'm trying to use a method defined in an engine's library, specifically it is the current_order method from the Spree::Core
engine: https://github.com/spree/spree/blob/master/core/lib/spree/core/current_order.rb

In my view, I've tried

Spree::Core::CurrentOrder.
current_order

Using just "current_order" in development works fine though, but not
in production.

So then I've tried to require it in my views file like this:

require 'spree/core/current_order'

I've also tried permutations of these other solutions:

http://stackoverflow.com/questions/11124447/how-to-incorporate-rails-engine-applicationcontroller-methods-in-a-main-app

http://stackoverflow.com/questions/7323327/a-way-to-add-before-filter-from-engine-to-application/

http://stackoverflow.com/questions/8797690/rails-3-1-better-way-to-expose-an-engines-helper-within-the-client-app

But I've lost track of what I actually did.

Can someone please point me in the right direction? Maybe I
implemented the solutions in the above links incorrectly?

This is the error I'm getting in production:

2012-06-21T09:59:08+00:00 app[web.1]: ActionView::Template::Error
(undefined method `current_order' for
Spree::Core::CurrentOrder:Module):

If I comment out the lines of code with current_order, everything
works in production.

I'm thinking it's the way things are loaded in production? But this is
the first time I'm trying to deploy so I don't quite understand the
differences between development and production.   I'm not sure if it matters, but I'm deploying on Heroku.

Thanks in advance!

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group.
To view this discussion on the web visit https://groups.google.com/d/msg/rubyonrails-core/-/SXr427-hIlAJ.
To post to this group, send email to rubyonra...@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-co...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en.

A L

unread,
Jun 22, 2012, 4:58:08 PM6/22/12
to rubyonra...@googlegroups.com
Thanks Richard.  Do you happen to know of any q&a forum specific for rails users?

Thanks for the pointer!

Ryan Bigg

unread,
Jun 22, 2012, 5:13:15 PM6/22/12
to rubyonra...@googlegroups.com
rubyonrails-talk is that list.

On Saturday, 23 June 2012 at 6:58 AM, A L wrote:

Thanks Richard.  Do you happen to know of any q&a forum specific for rails users?

Thanks for the pointer!

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group.
To view this discussion on the web visit https://groups.google.com/d/msg/rubyonrails-core/-/Mr8LRo2IrZ8J.

A L

unread,
Jun 25, 2012, 4:35:08 PM6/25/12
to rubyonra...@googlegroups.com
Thanks Ryan!  :-)
Reply all
Reply to author
Forward
0 new messages