Ruby on Rails:搜索数据库项目(学生)

时间:2018-03-27 11:44:59

标签: ruby-on-rails ruby

我有两个问题。

我想在我的数据库中添加搜索。我的数据库中的所有项目都显示在主页面上,其中有一个列表,您可以在其中查看所有学生。谁能告诉我如何在搜索中添加功能?我应该从哪里开始,我应该创造什么?你能告诉我这些步骤是做什么的吗?我该如何显示搜索结果?



  <p class="lead">Student management at a glance.
      <form class="form-inline my-2 my-lg-0">
        <!-- Search should be here -->
    </form>
  </div>
</div>
</div>

<!-- Student Summary -->
  <div class="row justify-content-md-center">
    <div class="col-12">
      <div class="card">
        <div class="card-header">
          <i class="fas fa-graduation-cap"></i> Students
          <div class="btn-group float-right">
            <%= link_to new_student_path, :class => "btn btn-outline-dark btn-sm" do %>
            <i class="fa fa-plus fa-fw"></i>
            New
            <% end %>
          </div>
        </div>
          <table class="table table-hover">
            <thead class="thead">
              <tr>
                <th scope="col"><div class="btn btn-fhg-0"><i class="fas fa-hashtag"></div></i></th>
                <th scope="col"><div class="btn btn-fhg-0"><%= sort_link "surname", "Name, Surname" %></div></th>
                <th scope="col"><div class="btn btn-fhg-0"><%= sort_link "room_id", "Room" %></div></th>
                <th scope="col"><div class="btn btn-fhg-0"><%= sort_link "harddrive_id", "Hard Drive" %></div></th>
<th scope="col"><div class="btn btn-fhg-0"><%= sort_link "key_id", "Key" %></div></th>
            <th scope="col"><div class="btn btn-fhg-0"><%= sort_link "os", "OS" %></div></th>
            <th scope="col"><div class="btn btn-fhg-0"><%= sort_link "manager" %></div></th>
            <th scope="col"><div class="btn btn-fhg-0"><%= sort_link "pawn" %></div></th>
            <th scope="col"><div class="btn btn-fhg-0"><%= sort_link "eol", "EOL" %></div></th>
            <th scope="col"><div class="btn btn-fhg-0"><%= sort_link "comment" %></div></th>
            <th scope="col"><div class="btn btn-fhg-0"><i class="fas fa-bars"></i></div></i></th>
          </tr>
        </thead>
        <tbody>
          <% counter = 1 %>
          <% @students.each do |student| %>
          <tr>
            <td class="align-middle"><%= counter %></td>
            <td class="align-middle"><%= student.to_s %></td>
            <td class="align-middle"><%= Room.find(student.room_id).to_s %></td>
            <td class="align-middle"><%= student.harddrive %></td>
            <td class="align-middle"><%= student.key %></td>
            <td class="align-middle"><%= student.os.capitalize %></td>
            <td class="align-middle"><%= student.manager %></td>
            <td class="align-middle"><%= student.pawn ? 'Paid' : 'Not paid' %></td>
            <td class="align-middle"><%= student.eol.strftime("%d.%m.%Y") %></td>
            <td class="align-middle" data-toggle="popover" title="<%= student.to_s %>" data-content="<%= student.comment %>"><%= truncate(student.comment, length: 30, separator: ' ') %></td>
            <td>
&#13;
&#13;
&#13;

我还想列出我在数据库中保存的类别的项目数量。例如:

有50名学生,60个硬盘,70个钥匙和80个房间。 是否可以列出我页面上的确切项目数量?像

这样的东西
<h1>There are <%= amount of students %> total queries.</h1>

谢谢!

1 个答案:

答案 0 :(得分:0)

您应该创建StudentsController并在其中添加搜索方法以搜索学生。

例如。以下search方法将根据名称

搜索学生
class StudentsController < ApplicationController
  def search  
    @students = Student.where(name: params[:name])  
  end
end

在路线中

resources :students do  
  collection do
    get :search  
  end  
end