所以这是一个难以回答的问题,因为我不完全确定如何描述它,所以原谅我的问题标题。
基本上,我将数组对象存储在mysql的列中。在活动的管理面板中,我正在构建要显示的表单。
form do |f|
f.inputs "Job Details" do
f.input :userId, label: 'User', :collection => User.all.map{ |user| [user.email, user.id] }
f.input :employerName, label: 'Employer Name'
f.input :employerPhone, label: 'Employer Phone'
f.input :employerFax, label: 'Employer Fax'
f.input :contactEmail, label: 'Job Contact Email'
f.input :address1, label: 'Address 1'
f.input :address2, label: 'Address 2'
f.input :city, label: 'City'
f.input :state, label: 'State'
f.input :postalCode, label: 'Postal Code'
f.input :position, label: 'Position'
f.input :description, label: 'Description'
f.input :compensation, label: f.object.category
li JobClassification.all.map{|x| [x.id, f.object.category, f.object.category.include?(x.id.to_s), {:checked=> f.object.category.include?(x.id.to_s)}] }
if f.object.new_record?
f.input :category, :as => :check_boxes, collection: JobClassification.all.map{|x| [x.classificationName, x.id]}
else
f.input :category, :as => :check_boxes, collection: JobClassification.all.map{|x| [x.classificationName, x.id, {:checked=> f.object.category.include?(x.id.to_s)}] }
end
end
f.actions
端
有问题的行如下:
f.input :category, :as => :check_boxes, collection: JobClassification.all.map{|x| [x.classificationName, x.id, {:checked=> f.object.category.include?(x.id.to_s)}] }
数据库f.object.category
返回的值["","16"]
现在你会认为它会正确运行,include会根据地图检查地图中id的值,如果是,则应用该项目的检查默认值。
然而,我得到了id的第1,6和16个真实的结果。它应该只返回16的真实情况。如果我在{ {1}}它可以正常工作,并显示正确的项目。
对于法律/律师助理
,它只应返回选中的true这非常离奇,我花了很多时间搜索和测试各种选项。我只需要另外一组眼睛,可能有更具体的细节,或指出我正确的方向,我需要找到或搜索解决这个问题。
再次提前致谢!