Как искать и отображать записи из таблицы в Ruby on Rails?

#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. guides.rubyonrails.org/active_record_querying.html

Ответ №1:

В вашем контроллере (предполагается, что искомая строка пользователя находится в params[:name])

  @books = Book.where("name like ?", "%#{params[:name]}%")
  

И затем вы можете выполнить цикл по этому @books и отобразить их в таблице

ОТРЕДАКТИРОВАНО после комментария

Эта переменная @books содержит все экземпляры книг. Вам нужно выполнить цикл по этой переменной в вашем файле просмотра (haml или erb). Под циклом я подразумевал использование каждого метода.

Комментарии:

1. где мне просмотреть @books?