У меня проблема с использованием render в Rails.В моем контроллере есть настраиваемое действие «поиск», которое должно отображать индекс, как показано ниже.
def search
@date = params[:reserve_date]
@tables = Table.all
render 'index'
end
Действие используется в другом представлении с использованием следующего фрагмента кода:
<%= form_with url: search_tables_path do |f| %>
<%= f.date_field :reserve_date %>
<%= submit_tag "SEND" %>
<% end %>
После нажатия кнопки «ОТПРАВИТЬ» необходимо отобразить представление «индекс».Сервер сообщает:
Отрисованные таблицы / index.html.erb в макетах / приложении (25,0 мс)
Завершено 200 OK за 127 мс (Просмотры: 123,2 мс | ActiveRecord: 3 мс)
Однако в браузере вообще ничего не отображается.Он остается на предыдущей странице без изменений.Если я пытаюсь получить доступ к представлению индекса по следующей ссылке:
Тогда представление индекса отображается нормально, но, конечно, я не передаю никакой дополнительной информации.Как сделать так, чтобы он правильно отображался?
РЕДАКТИРОВАТЬ Кажется, что тег формы в HTML завершен
<form action="/tables/search" accept-charset="UTF-8" data-remote="true" method="post"><input name="utf8" type="hidden" value="✓" /><input type="hidden" name="authenticity_token" value="4L/RNvCzlPX8PzDGk2LXcSiyrhzXVU3cwsLUmaQvq10y9HpESbH8CX+74n/UHxLJ5LUdiWYBdoaqCb2jFIYEgw==" />
Это мой файл rout.rb:
Rails.application.routes.draw do
devise_for :users
resources :tables do
collection do
post 'search'
end
end
resources :reservations
root 'home#index'
end