2010-02-20 55 views
0

我正在Ruby on rails 2.3.2上工作,我想通过回发保留搜索文本,以便在此之后填充它。通过会话保持搜索文本

现在,搜索页面在控制器上被称为“搜索”的方法调用。一旦搜索完成我渲染文件是这样的:

render :file => '/search/index', :layout => true, :use_full_path => true 

我想保存这样一个会议的搜索:

session[:text_to_search] = params[:txtSearch]

,然后指定其值回文本框。该文本框实际上是一个html input type="text"

我该怎么做?

回答

1

注意,因为你在渲染页面,而不是重定向到一个新的页面,你仍然可以在该页面访问参数...

<%= text_field_tag :txtSearch, params[:txtSearch] %> 

应该工作。

,如果你坚持使用会话,那么:

<%= text_field_tag :txtSearch, session[:text_to_search] %> 
+0

感谢。但我有一个问题。如果文本字段为空,我已经设置了文本字段来显示一些文本,并且我已经设置了一个默认值,如“输入要在此处搜索的文本”。所以,如果我不把它拿出来,它会显示这个文本,而不是我搜索到的那个。那么,如何才能检查params [:text_to_search]是否为空,因此只有当params [:text_to_search]为空时,才可以设置其值=“输入要搜索的文本...”。 – 2010-02-20 00:57:37

+1

<%= text_field_tag:txtSearch,params [:text_to_search] .blank? ? “默认文本”:params [:text_to_search]%> – emh 2010-02-20 01:16:37