#ruby-on-rails #ruby #ruby-on-rails-3.2
#ruby-on-rails #ruby #ruby-on-rails-3.2
Вопрос:
Я хочу создать форму поиска для пользователей, чтобы они могли выполнять поиск по одному полю и получать все записи, соответствующие этому.
У меня есть модель books, в которой есть поля: name:string, author_id:integer, publisher_id:integer, category_id:integer, status:string
.
Я создал новый контроллер, в котором есть поле поиска для названия книги.
Теперь, когда я ввожу название книги в это поле поиска, я хочу отобразить все записи книги, соответствующие этому имени на странице, как обычную таблицу rails.
Как мне это сделать? Действительно запутался.
Комментарии:
Ответ №1:
В вашем контроллере (предполагается, что искомая строка пользователя находится в params[:name])
@books = Book.where("name like ?", "%#{params[:name]}%")
И затем вы можете выполнить цикл по этому @books
и отобразить их в таблице
ОТРЕДАКТИРОВАНО после комментария
Эта переменная @books содержит все экземпляры книг. Вам нужно выполнить цикл по этой переменной в вашем файле просмотра (haml или erb). Под циклом я подразумевал использование каждого метода.
Комментарии:
1. где мне просмотреть @books?