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.