find email by account using active record

15 views
Skip to first unread message

Bob Kendall

unread,
Feb 19, 2014, 2:21:14 PM2/19/14
to rubyonra...@googlegroups.com
am trying to refactor an app that I have inherited that was not coded
using rails best practices. I am fairly new to rails and I am doing the
tutorials and book thing, but I also need to keep making process on the
project.
--------------------------------------------------------


I have a model that I have refactored:
---------------------------------------------------------
models/weboel23.rb
class WEBOEL23 < ActiveRecord::Base
establish_connection "as400_#{RAILS_ENV}"
set_table_name "WEBOEL23"

def email
@weboe123 = WEBOEL23
WEBOEL23.where(ACT223: act223).first.email
end
end
-------------------------------------
and I am calling it from models/order.rb:
if approval1!=""

Mailer.deliver_order_distributor_approval_email(@weboel23.email,
"Coastal Pet Online Ordering<nor...@coastalpet.com>", "DIST
Confirmation-1 ", email_details)
end
------------------------------------
the error that it is returning is - NoMethodError (Undefined method
'email' for nil:NilClass): - does this mean that the email record is
returning blank? I have tried setting @weboe123 = WEBOEL23 in my def
but it is still coming back undefined. Does anyone have any insights or
clues that I may be missing??
--------------------------------
I also tried:

models/weboel23.rb
class WEBOEL23 < ActiveRecord::Base
establish_connection "as400_#{RAILS_ENV}"
set_table_name "WEBOEL23"

def WEBOEL23
@weboe123 = WEBOEL23
end

def get_email
@WEBOEL23.where(ACT223: act223).first.email
end
end

models/order.rb
if approval1!=""
Mailer.deliver_order_distributor_approval_email(weboel.get_email,
"Coastal Pet Online Ordering<nor...@coastalpet.com>", "DIST
Confirmation-1 ", email_details)
end
-------------------------------------------
executing the code this way results in the error NameError (undefined
local variable or method 'weboel' )
-----------------------------------------
thank in advance for any help

--
Posted via http://www.ruby-forum.com/.

Hassan Schroeder

unread,
Feb 19, 2014, 2:48:52 PM2/19/14
to rubyonrails-talk
On Wed, Feb 19, 2014 at 11:21 AM, Bob Kendall <li...@ruby-forum.com> wrote:
> am trying to refactor an app that I have inherited that was not coded
> using rails best practices. I am fairly new to rails and I am doing the
> tutorials and book thing, but I also need to keep making process on the
> project.

Uh, well. Not sure that's a good idea, but whatever. Does this app
have decent test coverage? If not (and I'd bet I know the answer)
then that might be a better place to spend time to start...

Anyway,

> I have a model that I have refactored:

> def email
> @weboe123 = WEBOEL23

The line above makes zero sense.

> WEBOEL23.where(ACT223: act223).first.email

> the error that it is returning is - NoMethodError (Undefined method
> 'email' for nil:NilClass): - does this mean that the email record is
> returning blank?

It means no records were found, so there's no 'first' to examine.

You might want to learn about using the console (irb, or better yet
pry) and trying out that line to see what it does, because I'd also bet
it's not what you're expecting :-)

Good luck,
--
Hassan Schroeder ------------------------ hassan.s...@gmail.com
http://about.me/hassanschroeder
twitter: @hassan
Reply all
Reply to author
Forward
0 new messages