首页 > 解决方案 > rails - 搜索表单的多个路径

问题描述

我正在实施网站。我遇到了搜索表单的问题。我上传了我的代码,我想问的是如何通过homes_controller上的'index'和'historical'设置搜索'path' 下面,我的代码:

应用程序/控制器/homes_controller

 def index
    @homes = Home.where(:category => 1).reverse
 end

 def historical
    @homes = Home.where(:category => 2).reverse
 end

应用程序/视图/布局/application.html.erb

下面,这段代码暂时是临时代码。我应该改变它。

<%= form_tag(homes_path, :method => 'get', id: "search-form" do %>
    <%= text_field_tag :search, params[:search], placeholder: "검색" %>
    <%= submit_tag "검색", :name => nil %>
  <% end %>

标签: ruby-on-rails

解决方案


我不确定你应该在这里做什么

但是根据问题-我可以解决您的问题

在控制器操作中保留一个实例变量 - 像这样

应用程序/控制器/homes_controller

 def index
    @homes = Home.where(:category => 1).reverse
    @search_path = "path you want to give" 
 end

 def historical
    @homes = Home.where(:category => 2).reverse
    @search_path = "path you want to give" 
 end

在你的布局中你可以像这样使用它

应用程序/视图/布局/application.html.erb

<%= @search_path.present? %>

  <%= form_tag(@search_path, :method => 'get', id: "search-form" do %>
    <%= text_field_tag :search, params[:search], placeholder: "검색" %>
    <%= submit_tag "검색", :name => nil %>
  <% end %>
<% end %>

推荐阅读