【问题标题】:Active Admin Form with Hstore Column - Unpermitted Param Error带有 Hstore 列的活动管理表单 - 未经许可的参数错误
【发布时间】:2016-02-05 07:16:11
【问题描述】:

我在 Rails 4.2.0 中使用 ActiveAdmin(1.0.0.pre1)。

我有一个模型,即Provider。它有一个hstorecurrent_address

对于这个 hstore 列,我有一个名为 full_address 的键,我想要对其进行编辑。 我按照这个链接https://github.com/activeadmin/activeadmin/issues/2032 来实现这一点。表单加载正确。

但是我收到了一个错误 Unpermitted parameters: current_address 如您所见,我已经在我的 permit_params 列表中添加了 current_address

谁能建议我这里出了什么问题以及如何解决它。谢谢:)

ActiveAdmin.register Provider do
  permit_params :dob, :current_address
  menu parent: 'User'
  config.sort_order = 'id_asc'
  actions :all, except: [:new]
  filter :mobile_number
  filter :id

  index do
    selectable_column
    column :id
    column :mobile_number
    column :name
    column :gender
    column :dob
    column :current_address
    actions
  end

  form do |f|
    f.inputs 'Provider Details' do
      f.input :dob, as: :datepicker
      f.fields_for :current_address do |current_address|
        current_address.input :full_address,
                              input_html: {value: f.object.current_address.
                                                  try(:[], 'full_address')}
      end
    end
    f.actions
  end
end

【问题讨论】:

    标签: ruby-on-rails-4 activeadmin hstore


    【解决方案1】:

    当您在强参数中允许:current_address 时,它只允许标量值。 https://github.com/rails/strong_parameters#permitted-scalar-values

    所以你需要为哈希指定允许的键。在你的情况下,只需写:

    permit_params :dob, { current_address: [:full_address, :any_other_custom_key] }
    

    【讨论】:

      猜你喜欢
      • 2014-03-20
      • 2021-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多