Ruby on rails 如何实现搜索栏功能以通过用户名查找其他用户?

问题描述

我想在我的 rails 应用程序中实现一个搜索功能,通过用户名或全名查找其他用户,我正在为用户使用设计 gem,我没有任何 users_controllers 只是我有一个 user.rb模型?任何帮助,非常感谢。

解决方法

首先你必须创建一个控制器。要创建控制器,请在命令下运行。

rails g controller search

此命令将在您的 app/controller/search_controller.rb 中创建一个文件,转到该文件并添加以下代码。

def search_user 
    @get_user = User.where("username LIKE ? AND full_name LIKE ?","#{params[:username]}%","#{params[:full_name]}%" )
    puts @get_user
end

注意:-你必须记住的一件事是用户表列名和输入的名称应该是正确的。

现在下一步在 config/route.rb 文件中设置路由

get '/search_user',to: 'search/search_user'

下一步从 html.erb 文件调用 search_user

<%= form_with url: "/search_user",method: :get do |form| %>
  <%= form.text_field :username %>
  <%= form.text_field :full_name %>
  <%= form.submit "Search" %>
<% end %>