2012-02-13 89 views
5

我有这样的选择,工作正常,但默认情况下,选择是空的,不显示选定值(这是正确填写):选择的选项不工作的选择

<%= f.select(:relationgroup, options_for_select(@relationgroups), { :selected => @relation.relationgroup, :include_blank => true}) %> 

任何想法,为什么?谢谢!

回答

6

尝试这种方式:

<%= f.select(
     :relationgroup, 
     options_for_select(@relationgroups, @relation.relationgroup), 
     :include_blank => true 
) %> 

不知道,但也许它会更好地工作。

无论如何,假设Relationgroup是一些模型idname(或您想在选择选项可见任何其他属性)的属性,并且你使用默认relationgroup_id外键在模型中你最好的构建选择这样的:

<% f.select(
     :relationgroup_id, 
     options_from_collection_for_select(@relationgroups, :id, :name), 
     :include_blank => true 
) %> 

它会选择基于object.relationgroup_id选择的值,其中object为您建立表单模型。有关更多信息,请参阅docs

+0

谢谢,工作! – John 2012-02-13 08:36:53

+0

不错,但是哪一个? – 2012-02-13 09:11:19

+0

第一个,因为它是一个字符串字段,没有id的参与。 – John 2012-02-13 14:33:45