如何在设备中制作搜索引擎

时间:2014-01-02 05:04:52

标签: ruby-on-rails

有人可以帮助我在设备框架上的索引文件中实现搜索,我设法在Active Admin中执行搜索,但我需要在我的视图中实现它。我在rails 3.2.13上实现了ruby。 我的代码是:

<h1>Lista de alumnos</h1>

<table>
  <tr>
    <th> Nombre </th>
    <th> Apellido </th>
    <th> CURP </th>
    <th> Genero </th>
  </tr>
<% @alumnos.each do |alumno| %>

  <tr>
    <th><%= alumno.nombre %></th> 
    <th><%= alumno.apellido %></th>
    <th><%= alumno.curp %></th>
    <th><%= alumno.genero %></th>

    <td><%= link_to 'Muestra', alumno %>|</td>
    <td><%= link_to 'Editar', edit_alumno_path(alumno) %></td>
    <td><%= link_to 'Eliminar', alumno, method: :delete, data: { confirm: 'Are you sure?' } %></td>
  </tr>
<% end %>
</table>

<br />

<%= link_to 'Nuevo Alumno', new_alumno_path %>

1 个答案:

答案 0 :(得分:0)

你的问题很浅,但无论如何我都会回答。我将向您展示如何实现简单搜索。 第一步。将此添加到您要实现搜索的模型,即在您的情况下可能是alumnos.rb

def self.search(query)
    if query
      where("FIELD_TO_SEARCH like ?", "%#{query}%") 
    else
      scoped
    end
end 

注意:将FIELD_TO_SEARCH替换为您希望从alumnos模型中搜索的特定字段。你的案例中的一个例子可能是nombre。接下来,您必须将控制器中index方法中的@alumnos变量更改为以下

def index
  @alumnos = Model_Name.search(params[:search])
end

请记住使用模型名称更改Model_Name。最后你的观点看起来像

<%= form_tag(alumis_path, :method => 'get', id: "search-form") do %>
    <div class="search"><%= text_field_tag :search, params[:search], placeholder: 'Search' %></div>
<% end %>

希望这有助于您了解如何在'Devise'上实现简单搜索,正如您所说的那样,您没有按预期进行详细说明。