Я создаю панель поиска для некоторых объектов, которые называются notification groups
с использованием ajax. Когда я пытаюсь найти объекты с помощью ajax, я получаю следующую ошибку в моей консоли:
ActionView::Template::Error (undefined local variable or method `notification_group' for #<#<Class:0x00007f6e94496f38>:0x00007f6e8c415508>):
Моя форма поиска выглядит следующим образом:
- if @notification_groups.present?
#search_bar
= form_tag :search_notification_groups, id: 'search_form', method: :get, remote: true do
= text_field_tag :search, nil, placeholder: 'Search by friendly name'
= hidden_field_tag :per_page, @per_page
= submit_tag 'Search', id: 'btn_note_group_search'
После моего код представления, у меня есть этот фрагмент кода представления, который визуализирует объекты для страницы индекса:
-if @notification_groups.size > 0
= render partial: 'notification_group', collection: @notification_groups
И частичный код следующий. В основном это таблица с <tr>
строками:
%tr.ng_list
%td
= check_box_tag "ids[]", notification_group.id, false, class: 'check_box', id: notification_group.id, 'data-group-name' => notification_group.friendly_name
%td
= link_to notification_group.friendly_name, notification_group_path(@ssl_slug, notification_group.id)
%td
= link_to notification_group.scan_logs.count, notification_group_scan_logs_path(@ssl_slug, notification_group.id)
%td
= notification_group.disable ? "Disabled" : "Enabled"
Мой код отлично работает с HTML, однако, когда я пытаюсь реализовать свой поиск с помощью Ajax, появляется ошибка, что нет переменной notification_group
, которая является локальной переменной.
Вот мой код контроллера:
def search
@notification_groups = NotificationGroup.friendly_name(params[:search]).paginate(@p)
respond_to do |format|
format.html { render :index }
format.js
end
end
Прилагаемый код search.js.erb
представляет собой простую строку, которая должна отображать частичное:
$(document).ready(function() {
$(".ng_list").html("<%= escape_javascript(render 'notification_group', collection: @notification_groups) %>")
})
Я проверил документацию по rails, и вот как должен работать файл search.js.erb
. Однако он выдает ошибку 500 и не вносит изменения в файл html. Я что-то здесь упускаю?