Rails Activeadmin:不保存复选框值

时间:2015-12-29 02:38:20

标签: ruby-on-rails activeadmin

模型

 # certification.rb

class Certification < ActiveRecord::Base

 extend Enumerize
 enumerize :certification_type, in: [:SEO, :CRM]

end

我的管理档案

 # admin/certification.rb

ActiveAdmin.register Certification do
   permit_params :name,
                 :certification_type,

  form :html => { :enctype => "multipart/form-data" } do |f|
       f.inputs "Certifications" do
         f.input :name, :label => 'Nom'
         f.input :certification_type, :label => 'Type',
                                    as: :check_boxes
      end
     f.actions
  end
end

问题在于certification_type字段。 当我在activeadmin页面中勾选一种类型时,该条目不会保存在数据库中。但是,当我使用as: :check_boxes更改as: :select时,它可以正常工作。

你知道是否有原因?

谢谢

1 个答案:

答案 0 :(得分:2)

您无法在此处使用复选框,因为复选框允许为一个字段选择多个值,但您没有在multiple: true上指定enumerize(因为您不需要此, 我猜)。所以你应该使用单选按钮,因为它们只允许选择其中一个值(类似于select)。

尝试将as: :check_boxes更改为as: :radio

 f.input :certification_type, :label => 'Type', as: :radio