我想创建一个可以在任何页面中使用的搜索栏,以便查找电影数据库中的项目。我的搜索栏仅在我已经在电影索引页中时才起作用,但它在任何其他页面中都不起作用,它只会重新加载当前视图并搜索路径。提交搜索后,如何重定向到电影索引页?
<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>
您的视图代码很乱:双重表单(第一个是纯 html,第二个是 rails
form_tag
)。只需删除双重表单标签即可。在 rails 中,你应该使用
form_tag
、 或form_with
或form_for
甚至 gems 等来simple_form
获得额外的功能。它们有不同的签名(输入参数)和用例,请参阅文档以选择你需要的那个。