NoMethodError (undefined method `finder’) with Engines and Rails 2.2

I was getting this error with Rails 2.2 when using ActionMailer.

NoMethodError (undefined method `finder’ for #<ActionView::Base:0x34146fc>)

It stems from a line in engines/lib/engines/rails_extensions/action_mailer.rb

This is some problem between Rails 2.2 and Engines. Reinstalling engines didn’t seem to help.

Simply put, you need to go here and apply this patch:

http://github.com/lazyatom/engines/commit/499ce3b0480d8fa9375203f5efcadb8cf6ea9efe

This took me hours to figure out. I don’t know why there isn’t any more help on this problem.

Rails + SugarCRM – An alternative approach

After slogging through connecting Rails and Sugar via SOAP, I was tired and frustrated. The API is slow, and doing anything meaningful took a long time (ok, it took 30 seconds, but that seems slow to me; aren’t computers supposed to be fast?!). So, I came up with an alternative approach.

I know that Active Record (or whatever it’s called) in Rails is really just a fancy wrapper for the database. So, I created a second database connection, directly to the Sugar database!

You just have to setup new models and controllers in Rails. But, that’s not too hard. See this solution (http://pragdave.pragprog.com/pragdave/2006/01/sharing_externa.html). Use option 3. It worked well. Once you get the mapping figured out, you can even use the join tables, relationships, etc. It all works transparently.

I use this to synchronize various objects and fields.

Of course, you have to have access to the database. And, of course, I know I’m majorly in danger of screwing something up. And you have to figure out the inner workings of the Sugar database. And, of course, this might not work on the next version, etc., etc.

But, heck it is fast! And very easy to use!

If you want to know more, just let me know.