gpt4 book ai didi

ruby-on-rails - 获取数据库中存在的任何用户的任何id

转载 作者:数据小太阳 更新时间:2023-10-29 07:46:12 26 4
gpt4 key购买 nike

我是 Rails 的新手,有一个任务要求我向任何用户发送邀请,让他们成为我杂志的管理员,这是我的一段代码

def invite
inviteUser = { 'user_id' => current_user.id, 'Magazine_id' => params[:id] }
CollaborationInvitation.create(inviteUser)
@magazine = Magazine.find(params[:id])
redirect_to :back
rescue ActionController::RedirectBackError
redirect_to root_path
end

我需要将 current_user.id 替换为指向我数据库中存在的任何用户 ID 的内容,以便向他发送邀请成为我的管理员 我尝试添加 @User= Users.All,然后将其作为变量传递,但它给了我一个错误我尝试了很多东西,但每次我都遇到错误,除了添加

ps:我是用devise做认证

最佳答案

你问了一些事情,这有点让人困惑你想做什么。

这是获取模型中所有记录 ID 的方法。

Rails4: User.ids

Rails3: User.all.map(&:id)

或者(不确定 #pluck 是否在 Rails 3 中)

User.pluck(:id) 

如果您想获得一个随机用户(您提到“任何用户”),您可以这样做。

User.find(User.pluck(:id).sample)

虽然我认为您真正想要做的是将用户的 ID 或其他一些属性作为参数传递给操作并向该用户发送邀请。

大概您有一个帖子或获取 "users#invite" 的路线(您在问题中写的操作)。您可以在那里添加一个命名参数,或者您可以传递一个 url 参数,或者如果您使用的是帖子路由,您可以将参数添加到帖子正文中。

然后在你的 Controller 中你可以做这样的事情(我将使用电子邮件作为属性):

def invite
@user = User.find_by(email: params[:user_email])

#Rails 3 like this
# @user = User.find_by_email(params[:user_email])
# now do stuff with user
end

关于ruby-on-rails - 获取数据库中存在的任何用户的任何id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30006356/

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