我有一个用户选择位置的表单。它上面有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 %>
问题是,在结果上我有一些按钮来编辑这些结果,这会将用户带到另一个页面,但是在按下后退按钮时表单结果不存在。
我如何展示这些结果,或以某种方式记住它们?
答案 0 :(得分:1)
我看到你根据选择框的值加载ajax数据。问题是,当你从这个页面重定向到另一个页面时,你会在回来时丢失你的ajax数据。
解决这个问题的一种方法是,只要选择框中的值发生更改,就可以通过加载数据的相同ajax请求保存会话中的位置,并在返回此页面时检查是否在会话中设置了位置显示该位置的数据。