gpt4 book ai didi

ruby-on-rails - 使用 ID 以外的参数查找模型

转载 作者:太空宇宙 更新时间:2023-11-03 18:18:39 24 4
gpt4 key购买 nike

我正在使用具有强参数的 Rails 4 来尝试通过名为“provider_id”的参数查找用户。希望我能够使用我的 API 调用 URL,例如:

url.com/api/v1/user?provider=facebook?provider_id=12345

我的路线如下:routes.rb

namespace :api do
namespace :v1 do
resources :users
match '/:provider/:provider_id', to: 'users#find_by_provider', via: 'get'
end
end

我的强参数是:

def user_params
params.require(:user).permit(:name, :age, :location, :provider, :provider_id) if params[:user]
end

我的职能是:

def find_by_provider
@user = User.find(params[:provider_id])

respond_to do |format|
format.json { render json: @user }
end
end

目前,我正在测试:url.com/api/v1/facebook/12345它正在返回:

"{"provider"=>"facebook",
"provider_id"=>"12345"}"

这个不错!但我现在收到错误消息:“找不到 id=12345 的用户”

此外,有些相关:偶尔我会收到一条错误消息,提示“未找到参数:用户”。

有什么建议吗?谢谢!

最佳答案

改变:

@user = User.find(params[:provider_id])

收件人:

@user = User.find_by(:provider_id => params[:provider_id])

关于ruby-on-rails - 使用 ID 以外的参数查找模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22119270/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com