用户可以选择5个选项。一旦他们选择了一个,他们就无法再选择它。目前,我只是从列表中删除以前使用的选项...因此,他们只能从以前未使用过的选项中进行选择。我唯一不喜欢的是,当用户向数据库添加新记录时,他们可能想知道为什么列表中似乎缺少选项。
我的一个想法是将以前使用过的选项留在列表中,但将它们交叉并禁用它们。
是否可以仅对select中的某些选项禁用(和/或添加类)? Simple_form似乎有一个option_html帮助器,但没有看到它记录。
答案 0 :(得分:9)
原来这很容易做到。 Rails支持它......
<%= f.association :ying, collection: @yangs, :disabled => @used_yangs %>
答案 1 :(得分:3)
只有当我将id传递给禁用选项时,它才适用于我。像这样:
= f.association :stuff, disabled: Stuff.where(enabled: false).map(&:id)
使用Rails 4.2.3
关于Rails文档是正确的。在此处查看:disabled
说明:http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html