gpt4 book ai didi

mysql - 在选择标签中将当前用户显示为 "Me"

转载 作者:太空宇宙 更新时间:2023-11-03 11:45:56 25 4
gpt4 key购买 nike

我使用下面编写的代码来选择用户

def user_for_select
User.pluck(:name, :id).unshift(['All', 'all'])
end

但是我想在select标签中将当前用户名显示为“我”。

最佳答案

你可以这样做:

def user_for_select
User
.pluck("CASE WHEN id = #{current_user.id} THEN 'ME' ELSE name END AS name, id")
.unshift(['All', 'all'])
end

在我自己的 Rails 控制台(Rails 4.2.6)中测试:

Admin.pluck("CASE WHEN id = #{u.id} THEN 'ME' ELSE full_name END AS name, id").unshift(['All', 'all'])
# (0.6ms) SELECT CASE WHEN id = 7 THEN 'ME' ELSE full_name END AS name, id FROM "admins"
# => [["All", "all"], ["arup rakshit", 1], ["ME", 7], ["pinaki das", 2], ["mina das", 3], ["proloy das", 4], ["mouli roy", 5], ["pisi das", 6]]

编辑:如果方法是类方法,如下所示。

class User < AR
class << self
def user_for_select(user)
self
.pluck("CASE WHEN id = #{user.id} THEN 'ME' ELSE name END AS name, id")
.unshift(['All', 'all'])
end
end
end

现在从 View 中调用它:

user_for_select(current_user)

关于mysql - 在选择标签中将当前用户显示为 "Me",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38829088/

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