Ruby on rails 从URL显示具有匹配应用程序id的用户
我想根据URL中给定的Ruby on rails 从URL显示具有匹配应用程序id的用户,ruby-on-rails,ruby,parameters,controller,Ruby On Rails,Ruby,Parameters,Controller,我想根据URL中给定的app\u id参数显示用户 我想给某人一个类似“”的链接,并向用户显示该应用程序id(“76876876876868”) 我正在寻找一种神奇的方法或其他东西,可以帮助我实现这一点 这就是我的路线。rb: get 'users/:app_id' => 'users#show' 这就是我的用户_controller.rb中的内容: def show @user = User.magicalMethod(params[:app_id]) end
app\u id
参数显示用户
我想给某人一个类似“”的链接,并向用户显示该应用程序id
(“76876876876868”)
我正在寻找一种神奇的方法或其他东西,可以帮助我实现这一点
这就是我的路线。rb:
get 'users/:app_id' => 'users#show'
这就是我的用户_controller.rb中的内容:
def show
@user = User.magicalMethod(params[:app_id])
end
我尝试了几个选项,比如User.find(params[:app_id])
,但是'find'方法适用于'id'参数
我还尝试:
def show
@user = User.where(app_id: 76876876876868)
end
这似乎有效,但我想要更具活力的东西。这应该有效
@user = User.where(app_id: params[:app_id])
如果您只需要一个用户,请尝试此选项
@user = User.find_by(app_id: params[:app_id])
或
您可以使用:
@user = User.find_by_app_id(params[:app_id])
或:
非常感谢您的回答:)::):)您给我的第一个答案有效,但其他两个给我的是用户中的错误
NoMethodError\show
您正在使用Rails 4,对吗?实际上,find\u by\u app\u id
已被弃用
@user = User.find_by_app_id(params[:app_id])
@user = User.find_by(app_id: params[:app_id])