什么时候空搜索返回主页

时间:2015-03-29 23:30:37

标签: ruby-on-rails

嘿伙计我的搜索栏有这个问题 - 当我没有输入任何关键字时,它仍会显示结果。如果搜索栏中没有关键字(即使搜索栏中只有空格),我怎么告诉它只是为了将其重定向到同一页面,直到有实际搜索内容为止?

这是我的代码:

-if !@movies.empty?
  .row
    .large-12.columns
      h3="Results for '#{params[:query]}'"
      table.movie_table
        -@movies.each do |movie|
          tr
            td =link_to movie.title, movie_path(movie)
            td =image_tag(movie.image_url)
-else
  .row
    .large-12.columns
  h3="No results found for '#{params[:query]}'"

1 个答案:

答案 0 :(得分:0)

您的视图中似乎正在测试@movies。这大概是找到的对象的集合。

另一方面,您的<h3>图例依赖于params[:query]来显示所要求的内容。 (通常会将params[:query]分配给控制器中的变量,或者 - 更好的是,将其作为本地传递 - 因为您尝试尽可能少地在视图中执行。)您似乎更喜欢测试params[:query],因为那将是用户提交查询的文本。

在您的控制器中使用redirect_to root_path if params[:query].blank?(或任何其他_path_url),而不是在查询为空格时让它呈现视图,这样做我认为您想要的。