首页 > 解决方案 > Rails 复杂路由

问题描述

如何在我的控制器中设置路由和端点,以便对 /api/users?phone_number= 的 GET 请求显示提供其电话号码的用户的详细信息。

用户控制器

def index 
    @users = User.all
    render json: @users
end 

def show 
    @user = User.find(params[:id])
    render json: @user
end 

路线.rb

  namespace  :api do 
      resources :users, only: [:index, :show]
  end

标签: ruby-on-railsroutesnested-routes

解决方案


无需调整路线,只需控制器:

def index 
   if params[:phone_number]
      @users = User.where(phone_number: params[:phone_number])
   else
      @users = User.all
   end    
   render json: @users
end 

推荐阅读