我有一个应用程序,用户只能在初始帐户设置期间访问他们的 :name、:lastname、:email 属性一次。在此之后(出于安全原因),不允许他们更改这些属性中的任何一个;只有管理员可以。
def user_params
if current_user && current_user.admin?
params.require(:user).permit(:name,
:surname,
:admin)
else
params.require(:user).permit()
end
end
然后在user.create
我允许用户填写注册表并访问这些受保护的属性期间,但在 期间user.update
,只有管理员可以更改该信息。
由于user_params
每个方法(新建、创建、编辑、更新、显示、销毁)都被调用,如果我仅在创建帐户后将这些属性的访问权限限制为管理员,它将不允许用户编写这些属性并设置一个帐户/确认。
关于如何解决这个问题的任何想法?或者我只是错过了关于 strong_parameters 的一些东西?