【问题标题】:How Do I Use Simple Form to Create A Checkbox (to Select Multiple Options) and Display Information as an Array?如何使用简单表单创建复选框(选择多个选项)并将信息显示为数组?
【发布时间】:2021-12-04 04:59:41
【问题描述】:

我正在为我的应用程序使用简单表单,我想让用户能够选择多个项目并将其作为列表显示在他们的个人资料中。

我的表单中的行如下所示:

<%= f.input :subject, as: :check_boxes, collection: [ "Math", "English", "Science"] %>

这就是我在前面显示它的方式:

<%= @tutor.subject %>

如果有人要点击数学和科学,我希望出现这样的赞:“数学,科学”

我在执行此操作时遇到了问题,因为它似乎无法识别复选框选择。 我将如何逐步构建这个?

【问题讨论】:

    标签: ruby-on-rails simple-form


    【解决方案1】:

    该问题的明智解决方案是使用两个表,而不仅仅是一个字符串 - 一个用于科目,一个用于科目和导师之间的连接表。这将数据与您的应用程序代码分离。

    class Subject
      has_many :tutors
      has_many :subjects, through: :tutor_subjects 
      validates_uniqueness_of :name
    end
    
    class TutorSubject
      belongs_to :tutor
      belongs_to :subject
    end
    
    class Tutor
      has_many :tutor_subjects 
      has_many :subjects, through: :tutor_subjects 
    end
    

    然后,您可以将导师和科目与:

    <%= f.association :subjects, label_method: :name, as: :checkboxes, collection: Subject.all  %>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-30
      • 1970-01-01
      • 2013-02-14
      • 2011-03-16
      • 1970-01-01
      • 2015-10-16
      相关资源
      最近更新 更多