From: laredotornado Date: 2008-02-10T11:09:56+09:00 Subject: Right way to access an array passed as an argument? Hi, In my user model class, I have: class User < ActiveRecord::Base ... def self.search(search) conditions = [] if ! search[:user_type_id].is_empty? # line 26 conditions << 'user_type_id = ?' << "#{search[:user_type_id]}" end if !search[:ship_to_first_name].is_empty? conditions << 'ship_to_first_name LIKE ?' << "%#{search[:ship_to_first_name]}%" end if !search[:ship_to_last_name].is_empty? conditions << 'ship_to_last_name LIKE ?' << "%#{search[:ship_to_last_name]}%" end find(:all, :conditions => conditions ) end I am passing my "params" array to this function. The array params contains a hidden field, "user_type_id," that is always defined. But when I execute the above, I get the error You have a nil object when you didn't expect it! The error occurred while evaluating nil.is_empty? RAILS_ROOT: /usr/local/apache2/htdocs/easyrx Application Trace | Framework Trace | Full Trace app/models/user.rb:26:in `search' app/controllers/super_admin/subscriber_controller.rb:15:in `searchresults' so I'm thinking "search[:user_type_id]" is not the right way to access the parameter value. If I try ":search[:user_type_id]", I also get the error. Thanks for any help, - Dave