Мне действительно нужна помощь в этом. Я искал в интернете, но не смог найти единого решения моей проблемы.
У меня есть файл index.html.erb, в котором отображаются некоторые записи, которые были получены с использованием довольно сложного find_by_sql. Пожалуйста, смотрите код ниже:
def index
@refprobes = Refprobe.paginate_by_sql ["select * from ref_probe
where RPR_OID in
(SELECT DISTINCT RPR_OID
FROM REF_PROBE
JOIN ISH_PROBE ON RPR_OID = PRB_MAPROBE
JOIN ISH_SUBMISSION ON PRB_SUBMISSION_FK = SUB_OID
JOIN SEC_USER_PI ON USP_PI_ID = SUB_PI_FK
WHERE USP_USER_FK = " + session[:user_id]+ ")"], :page => params[:page], :per_page => 10
end
Теперь я хочу включить поле поиска поверх моего index.html.erb, что позволит пользователю фильтровать отображаемые записи на основе значения, введенного в поле поиска.
def self.search(search)
if search
find(:all, :conditions => ['name LIKE ?', "%#{search}%"])
else
find(:all)
end
end
Приведенный выше код не соответствует моим требованиям, так как я не хочу просматривать все записи в таблице. Я хочу ограничить свой поиск только теми записями, которые отображают мой index.html.erb.
Как я могу это сделать?
Большое спасибо заранее за вашу помощь.