即使按下后退按钮,如何显示表单结果

How to show form results even when pressing the back button

我有一个用户选择位置的表单。它上面有 remote: true 及其设置,所以我可以用 ajax 的方式返回结果。

形式

<%= form_for :location, url: get_inventory_path, remote: true do |f| %>
            <div class="input-field col s12">
              <%= f.select :location_id, options_for_select(@locations.collect { |l|
                [l.station + ', ' + l.venue + ', ' + l.area + ', ' + l.city + ', ' + l.country, l.id] }, 1), {}, { id: 'location_select', class: "browser-default" } %>
            </div>
        </div>
      </div>
      <div class="card-action center-align">
        <%= f.submit "Go", class: "btn blue", data: { disable_with: "Please wait..." } %>
      </div>
      <% end %>

问题是,在结果上我有一些按钮来编辑这些结果,这会将用户带到另一个页面,但是在按下后退按钮时,表单结果不存在。

我如何显示这些结果,或以某种方式记住它们?

我看到您根据 select 框的值加载 ajax 数据。问题是,当您从该页面重定向到其他页面时,返回时会丢失 ajax 数据。

解决此问题的一种方法是,每当 select 框中的值发生变化时,通过加载数据的相同 ajax 请求以及返回此页面时在会话中保存位置, 检查会话中是否设置了位置并显示该位置的数据。