ruby - 尽管被列入白名单,但 ActiveAdmin 未经允许的参数

标签 ruby ruby-on-rails-5 activeadmin

我像这样将参数列入白名单:

permit_params(%i{identity os current_ip clients site_ids sites domains})

但我在日志中得到以下内容:

{"utf8"=>"✓", "_method"=>"patch", "authenticity_token"=>"aU8vwoMbWcMikSQLSGuVo5XTF+sAopRi0+OhgxXYvSKD9UbLaImB3k+uhf03PpWNiwtrZrEv0wVpT9pIcCkyag==", "server"=>{"identity"=>"", "os"=>"UBUNTU 14.04", "current_ip"=>"123.245.23.24", "site_ids"=>["", "1"]}, "commit"=>"Update Server", "controller"=>"admin/servers", "action"=>"update", "id"=>"1"}
  Server Load (0.2ms)  SELECT  "servers".* FROM "servers" WHERE "servers"."id" = $1 LIMIT $2  [["id", 1], ["LIMIT", 1]]
Unpermitted parameters: :site_ids

我的表格看起来像:

  form do |f|
    f.inputs "Server Details" do
      f.input :identity
      f.input :os, label: 'OS'
      f.input :current_ip, as: :string
      f.input :sites, as: :select, collection: Site.all
    end
    f.actions
  end

尽管已列入白名单,但为什么不允许使用参数?

最佳答案

site_ids 需要使用数组语法:

[:identity, :os, :current_ip, :clients, :sites, :domains, site_ids: []]

所以它会是这样的:

permit_params([:identity, :os, :current_ip, :clients, :sites, :domains, site_ids: []])

关于ruby - 尽管被列入白名单,但 ActiveAdmin 未经允许的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46521496/

相关文章:

ruby - 在 Ruby ElasticSearch 客户端中设置法拉第超时

python - 类定义中未声明的 Python 变量的 Ruby 模拟是什么?

mysql - 在一个 Controller 中调用两个相互依赖的模型进行 View

ruby-on-rails - 如何更改 activeadmin 的默认 admin_user/pass?

ruby-on-rails - 使用 activeadmin 和 formattastic 显示范围 slider 的值

ruby-on-rails - 远程模型回调 - Rails 3?

ruby-on-rails - Rails - 将小时和分钟转换为秒,然后将值分配给键

ruby-on-rails - Vips - 在 Ruby 中调整大小后在图像顶部添加文本

ruby-on-rails - 使用 SSL 的 Nginx 后面的 Rails 5 中的 InvalidAuthenticityToken

ruby-on-rails - 将 gmaps4rails 与 Active Admin 一起使用,没有 map