Rails / Formtastic(活动管理)复选框返回true错误 - 使用MySql

时间:2017-03-27 00:00:09

标签: mysql ruby-on-rails activeadmin formtastic

所以这是一个难以回答的问题,因为我不完全确定如何描述它,所以原谅我的问题标题。

基本上,我将数组对象存储在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}}它可以正常工作,并显示正确的项目。

这是指导当前错误输出的屏幕截图。 enter image description here

对于法律/律师助理

,它只应返回选中的true

这非常离奇,我花了很多时间搜索和测试各种选项。我只需要另外一组眼睛,可能有更具体的细节,或指出我正确的方向,我需要找到或搜索解决这个问题。

再次提前致谢!

0 个答案:

没有答案