You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让跨页面搜索栏提交后重定向至电影索引页?

问题:跨页面搜索栏重定向至电影索引页

我需要创建一个可在任意页面使用的搜索栏,用于检索电影数据库中的条目。目前该搜索栏仅在电影索引页能正常工作,在其他页面提交搜索时,只会刷新当前页面并将搜索参数添加至路径。请问如何实现提交搜索时重定向至电影索引页?

现有代码:

<form class="d-flex">
  <%= form_tag movies_path, method: :get do %>
    <%= text_field_tag :search, params[:search], class:"form-control me-2", placeholder:"Search" %>
    <%= submit_tag "Search", :title => nil, class:"btn btn-outline-primary" %>
  <% end %>
</form>

解决方法:

问题出在你嵌套了两层<form>标签——外层原生HTML的form没有指定提交地址,导致非索引页提交时默认使用当前页面URL。正确的做法是去掉外层form,把样式class加到Rails的form_tag参数里:

<%= form_tag movies_path, method: :get, class: "d-flex" do %>
  <%= text_field_tag :search, params[:search], class:"form-control me-2", placeholder:"Search" %>
  <%= submit_tag "Search", title: nil, class:"btn btn-outline-primary" %>
<% end %>

修改后,form_tag会生成一个指向movies_path的完整表单,无论在哪个页面提交搜索,都会自动跳转到电影索引页并携带?search=xxx的搜索参数,和索引页的搜索行为完全一致。

内容的提问来源于stack exchange,提问作者JMS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 16:24:59