在我的“用户”数据库中,我有“电子邮件”、“姓名”和“职位”。
Email
和 name
是通过表单提交的,但 position
是在我为新用户写入行之前在 Controller 中确定的。如何将position
添加到我的alpha_user_params
?
def create
position = User.order("position DESC").first
# How can I add position to alpha_user_params????
@user = User.new(user_params)
if @user.save
# success stuff
else
# error stuff
end
end
private
def alpha_user_params
params.require(:alpha_user).permit(:email, :producer, :position)
end
最佳答案
如果position
是用户的一个属性,你可以这样做:
@user = User.new(user_params)
@user.position = position
# @user.position = User.order("position DESC").first
if @user.save
# success stuff
else
# error stuff
end
这不需要您向 alpha_user_params
方法添加任何内容。由于 position
属性是由您的 Controller 生成的,并且不会由用户添加/修改,因此我建议您将此属性保留在 Controller 本身内。
user_params
应该只允许用户输入/修改的属性。
关于ruby-on-rails - Rails : In a controller, 向表单提交的参数添加一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20793287/