Hi Folks,
My search fields,
Firstname*
Lastname*
MI - Middle initial
State*
ID
Birthday
when people will search John Bolton in any state for example AL
(Alabama),
all John Bolton names in only AL will show up.
So if there are 3 John Bolton with different middle MIs, they will show,
for example
John A. Bolton
John W. Bolton
John O. Bolton and so on…
I used this code in my model, But it show an error,
*def
self.search_my_new_contact(first_name,last_name,initial,inimate_id,state,dob)
*
- find(:all, :include=>[:address_book], :conditions => [“‘( LOWER
(address_books.first_name) LIKE ? AND LOWER (address_books.last_name)
LIKE
? AND LOWER (address_books.state_name) LIKE ?)’ AND ‘(LOWER
(address_books.initial) LIKE ? OR LOWER (address_books.inmate_id_number)
LIKE ? OR LOWER (address_books.birthday) LIKE ?)’”,
“#{first_name.downcase}”,“#{last_name.downcase}”,“#{initial.downcase}”,
“#{inimate_id.downcase}”, “#{state.downcase}”,“#{dob.downcase}”])*
end
ActiveRecord::StatementInvalid in InimateLocatorsController#index
Mysql2::Error: You have an error in your SQL syntax; check the manual
that corresponds to your MySQL server version for the right syntax to
use near ‘.state_name) LIKE ‘ar’))’ at line 1: SELECT
contact_books.id AS t0_r0, contact_books.user_id AS t0_r1,
contact_books.created_at AS t0_r2, contact_books.updated_at AS
t0_r3, contact_books.prison_id AS t0_r4, contact_books.active AS
t0_r5, address_books.id AS t1_r0, address_books.prison_name AS
t1_r1, address_books.first_name AS t1_r2,
address_books.last_name AS t1_r3, address_books.inmate_id_number
AS t1_r4, address_books.birthday AS t1_r5, address_books.city AS
t1_r6, address_books.state_id AS t1_r7, address_books.zipcode AS
t1_r8, address_books.street AS t1_r9, address_books.user_id AS
t1_r10, address_books.created_at AS t1_r11,
address_books.updated_at AS t1_r12, address_books.addressable_id
AS t1_r13, address_books.addressable_type AS t1_r14,
address_books.mobile_no AS t1_r15,
address_books.avatar_file_name AS t1_r16,
address_books.avatar_content_type AS t1_r17,
address_books.avatar_file_size AS t1_r18,
address_books.avatar_updated_at AS t1_r19, address_books.address
AS t1_r20, address_books.gender AS t1_r21,
address_books.fullname AS t1_r22, address_books.prison_id AS
t1_r23, address_books.state_name AS t1_r24, address_books.image
AS t1_r25, address_books.registration_no AS t1_r26,
address_books.initial AS t1_r27 FROM contact_books LEFT OUTER JOIN
address_books ON address_books.addressable_id =
contact_books.id AND address_books.addressable_type =
‘ContactBook’ WHERE ( ( LOWER (address_books.first_name) LIKE ‘remo’ AND
LOWER (address_books.last_name) LIKE ‘nandi’ AND LOWER
(address_books…state_name) LIKE ‘ar’))
Rails.root: /home/ashok/projects/textbehind
Application
Tracehttp://localhost:3000/inimate_locators?utf8=✓&search_contact[first_name]=remo&search_contact[initial]=&search_contact[last_name]=nandi&search_contact[inimate_id]=&search_contact[state]=AR&search_contact[dob]=#
| Framework
Tracehttp://localhost:3000/inimate_locators?utf8=✓&search_contact[first_name]=remo&search_contact[initial]=&search_contact[last_name]=nandi&search_contact[inimate_id]=&search_contact[state]=AR&search_contact[dob]=#
| Full
Tracehttp://localhost:3000/inimate_locators?utf8=✓&search_contact[first_name]=remo&search_contact[initial]=&search_contact[last_name]=nandi&search_contact[inimate_id]=&search_contact[state]=AR&search_contact[dob]=#
app/models/contact_book.rb:23:in search_my_new_contact' app/controllers/inimate_locators_controller.rb:15:in index’
Request
Parameters:
{“utf8”=>“✓”,
“search_contact”=>{“first_name”=>“remo”,
“initial”=>“”,
“last_name”=>“nandi”,
“inimate_id”=>“”,
“state”=>“AR”,
“dob”=>“”}}
Headers:
None
Please Advise.