You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Active Admin表单设置当前登录用户的admin_user_id值并隐藏该字段

处理Active Admin表单隐藏admin_user_id字段并赋值当前用户

推荐方案(后端赋值,安全可靠)

直接在表单中移除admin_user_id输入项,通过后端控制器回调为字段赋值,彻底避免前端篡改风险:

  1. 修改表单代码:
form do |f|
  f.inputs do
    f.input :title
    f.input :description
  end
  f.actions
end
  1. 在对应的Active Admin资源文件中添加控制器回调:
controller do
  before_action :assign_current_admin_user, only: [:create, :update]

  private

  def assign_current_admin_user
    resource.admin_user_id = current_admin_user.id
  end
end

前端隐藏方案(不推荐,存在篡改风险)

如果一定要通过前端隐藏字段,可添加hidden: true属性,但需注意用户可通过浏览器开发者工具修改字段值:

form do |f|
  f.inputs do
    f.input :admin_user_id, input_html: { value: current_admin_user.id, hidden: true }
    f.input :title
    f.input :description
  end
  f.actions
end

内容的提问来源于stack exchange,提问作者Fuaad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 03:25:23