2013-05-08 81 views
0

我创建一个下拉的用户喜欢 -添加选项组标签下拉

= f.association :user, :collection => current_user.company.users.order('first_name'), 
         :include_blank => "Select a approver", 
         :label => false, 

它创建了一个下拉我想要什么。 现在,我想这将不可选

我想米跌落的样子

label field 
all users list goes after label 

所有用户前加一个标签,这个标签字段将是不可选的,即用户无法选择这个标签。 有什么想法?

回答

0

您可以手动添加一个选项是这样的:

:collection => { "My new label" => ""}.merge(current_user.company.users.order('first_name')) 

你可能想提取到一个辅助方法,但我会离开,给你。

新选项现在有一个空值相关联,所以你可能会阻止该选项的选择,在模型验证:

class MyModel < ActiveReceord::Base 
    validates :user, :presence => true 

    # ... 
end 

现在对于具体的选项禁用,则可以添加选项:disabled => [...]选择助手,将在HTML disabled attribute添加到选择您指定的选项:

= f.association :user, 
    :collection => :collection => { "My new label" => ""}.merge(current_user.company.users.order('first_name')), 
    :include_blank => "Select a approver", 
    :label => false, 
    :disabled => [""] 
+0

感谢您的答复。但是这也不能正常工作,它显示以下错误 无法将ActiveRecord :: Relation转换为哈希 – user1875926 2013-05-08 10:24:40

+0

再次感谢...我正在使用禁用选项。但我想要的是一种非选择的标签添加到下拉 – user1875926 2013-05-08 10:25:56

+0

尽管它的工作原理,它会添加一个空白值选项字段地掉了下来,如:include_blank – user1875926 2013-05-08 11:01:20