首页 > 解决方案 > Ruby on rails 如何实现搜索栏功能以通过用户名查找其他用户?

问题描述

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

标签: ruby-on-railsrubyerbruby-on-rails-6

解决方案


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

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 %>

推荐阅读