【发布时间】:2019-10-25 10:27:56
【问题描述】:
我有一个 Rails 5 索引,其中包含用于过滤结果的搜索表单。
上述表格使用remote: true打控制器,更新结果使用相关index.js.erb文件更新结果容器。
我要解决的问题是单击结果并返回导航不会保留以前的搜索。
我已在index.js.erb 中使用以下内容解决了这个问题:
// new fields to update the history
const url = new URL(window.location);
url.searchParams.set('query', '<%= params[:query] %>');
url.searchParams.set('query_sort', '<%= params[:query_sort] %>');
window.history.pushState(null, null, url);
// existing code to update the results
$('#container').replaceWith("<%= escape_javascript(render partial: 'partial') %>");
但是,这感觉很复杂,应该有更好的(内置的?)解决方案。
有谁知道实现这一目标的传统方法?如果没有,任何关于有效方法的想法都非常感谢。提前致谢。
【问题讨论】:
标签: ruby-on-rails ruby ajax erb