Я работаю над приложением Rails 6 и хочу обновить вид страницы на основе раскрывающегося значения, выбранного с помощью XHR.Раскрывающийся список должен использовать метод GET, потому что я вызываю индексное действие.
Я использую form_with
, который по умолчанию использует remote: true
.Я не использую local: true
.
Я пытался onchange: "Rails.fire(this.form, 'submit')"
- это отправляет запрос XHR и получает ответ, но не обновляет представление.
Я пытался onchange: "this.form.submit();"
- это делаетполная перезагрузка страницы без использования XHR.
Код из app / views / users / index.html.erb
<%= form_with url: station_users_path(station_id: Current.user.home_station), method: :get do |form| %>
<%= form.select :user_status, options_for_select( { "Active users" => "unlocked", "Inactive users" => "locked"}, @user_status ), {}, { :onchange => "Rails.fire(this.form, 'submit')" } %>
<% end %>
Код из app / controllers / users_controller.rb
def index
@user_status = params[:user_status] || "unlocked"
@users = @station.users.send(@user_status) || []
@user_status == "unlocked" ? seperate_managers_from_users : @managers = []
end