我已经实现了一个简单的导轨搜索,它正在搜索我的数据库并显示结果很好。但是,我不完全了解如何将我的搜索查询路由到新页面。路由导轨简单搜索到列表页面
我已经用护栏脚手架创建我的网站的这一特定部分:
class DogSearchesController < ApplicationController
before_action :set_dog_search, only: [:show, :edit, :update, :destroy]
# GET /dog_searches
# GET /dog_searches.json
def index
@dog_searches = DogSearch.where(["dog LIKE ? ","%#{params[:search]}%"])
end
# GET /dog_searches/1
# GET /dog_searches/1.json
def show
@dog_search = DogSearch.find(params[:city])
end
index.html.rb
<%= form_tag dog_searches_path, :method => 'get', :class => 'search-form' do %>
<i class="fa fa-map-marker"></i>
<%= text_field_tag :search, params[:search], :class => 'homesearch', :placeholder => 'Enter search term' %>
<%= my_button_to '<i class="fa fa-search"></i>', {}, :class => "fa fa-search" %>
<% end %>
我在dog_searches/listing
创建一个页面,并将此向我的路线文件为get 'dog_searches/listing'
任何帮助,将不胜感激。
这很棒,效果很好。如果这是常见做法,我认为我会考虑使用索引,因为它没有意义偏离。当搜索运行时,页面设计将有所不同,这就是为什么我在查看与索引分开的列表。仍在学习使用Rails进行路由的过程,这让我非常困惑。 – JustDanLee
有些时候,您想要获得相同结果的不同视图 - 例如,在索引页面上使用csv或excel版本很常见。我可以看到其他用途。您可以将两个页面视为列表 - 只要链接到另一个页面,方法是在索引页面呈现后,通过更改操作并保留其他参数 - 即link_to(params.merge(:action =>:listing))' 。最后,如果需要,您可以从索引页面重定向到列表页面。该选项并不常见。相反,你可能想要有一个'search_form'页面并提交给索引。 – Swards