10

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

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

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

4

2 回答 2

15

事实证明,这很容易做到。Rails 支持它...

 <%=  f.association :ying, collection: @yangs, :disabled => @used_yangs %>
于 2013-06-20T15:44:37.787 回答
5

仅当我将 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

于 2015-08-11T13:36:16.330 回答