Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在表单提交时保留以前的搜索_Ruby On Rails_Forms - Fatal编程技术网

Ruby on rails 在表单提交时保留以前的搜索

Ruby on rails 在表单提交时保留以前的搜索,ruby-on-rails,forms,Ruby On Rails,Forms,我的任务是在rails中构建一个搜索表单,它在表单提交后在屏幕上连续输出搜索,直到浏览器关闭。比如说 搜索列表 上午10点-搜索“汽车”返回“福特” 上午11点-搜索“列车”返回的“处女列车” 显然,问题是,一旦我提交表单,页面就会重新加载,之前的搜索就会丢失。我想知道保存以前的搜索结果以显示在视图中的最佳方法是什么 我最初确实想过将结果保存到某种形式的会话变量中,但它似乎没有正常工作。这是我想要的 SearchController session["searches"] = [] def i

我的任务是在rails中构建一个搜索表单,它在表单提交后在屏幕上连续输出搜索,直到浏览器关闭。比如说

搜索列表 上午10点-搜索“汽车”返回“福特” 上午11点-搜索“列车”返回的“处女列车”

显然,问题是,一旦我提交表单,页面就会重新加载,之前的搜索就会丢失。我想知道保存以前的搜索结果以显示在视图中的最佳方法是什么

我最初确实想过将结果保存到某种形式的会话变量中,但它似乎没有正常工作。这是我想要的

SearchController
session["searches"] = []

def index
 if params[:search]
   latest_search = Search.new(search_term,time_of_search,search_results)
   session["searches"].push(latest_search) 
 end
 @searches = session["searches"]     
end
然后我可以在索引视图中循环搜索@search。然而,这似乎不起作用,也不是一个好的解决办法


很明显,ajax是一种选择,但我还没有将ajax与rails一起使用,所以我现在正在寻找一种更简单的解决方案。如果您有任何建议,我们将不胜感激。

我假设您显示的搜索仅针对该用户会话,而不是整个站点?目前只针对整个站点,因为我尚未实施用户会话。我认为最简单的答案是将所有搜索存储在数据库中,然后将其取出。或者做一些纯前端的事情,比如pubnubYeah,保存到db中的问题是需要在页面刷新时清除以前的搜索,因此会话似乎是最明显的选择。我们将了解pubnub,但我们正在寻找一种解决方案,而不必学习其他技术。