2012-02-13 128 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