2015-12-29 52 views
1

型号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: :select更改as: :check_boxes时,它可以工作。

你知道是否有原因?

谢谢

+0

当您使用复选框并提交表单,什么是在请求参数传递? (你可以在日志中看到这个) – Jeiwan

回答

2

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

尝试改变as: :check_boxesas: :radio

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

谢谢你的工作:) – Matt