在simple_form中为某些选择选项添加禁用

时间:2013-06-20 03:20:38

标签: ruby-on-rails-3 simple-form

用户可以选择5个选项。一旦他们选择了一个,他们就无法再选择它。目前,我只是从列表中删除以前使用的选项...因此,他们只能从以前未使用过的选项中进行选择。我唯一不喜欢的是,当用户向数据库添加新记录时,他们可能想知道为什么列表中似乎缺少选项。

我的一个想法是将以前使用过的选项留在列表中,但将它们交叉并禁用它们。

是否可以仅对select中的某些选项禁用(和/或添加类)? Simple_form似乎有一个option_html帮助器,但没有看到它记录。

2 个答案:

答案 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