0
我有這個問題,我得到的下拉菜單顯示但選定的選項沒有顯示出來。下面的代碼我必須產生在.erb選擇下拉菜單:Ruby on Rails中的選擇下拉列表:選擇的值沒有被拾取
<%= collection_select("url", "source_type_id", @source_types, :id, :name, {:prompt => "Please select..."}) %>
的@source_types
填充在從被綁定到模型中的查找表的控制器。 @url_object
是模型:
@source_types = SourceType.all
的由於模型是聯繫在一起的查找表的方式:
belongs_to :source_type
@url_object.source_type_id
返回數值,@url_object.source_type
從查找表返回相關的名稱。
<select id="url_source_type_id" name="url[source_type_id]"><option value="">Please select...</option>
<option value="1">Dictionary/Thesaurus</option>
<option value="2">Encyclopedia</option>
<option value="3">Magazine</option>
<option value="4">Map/Atlas</option>
<option value="5">Newspaper</option>
<option value="6">Reference Tools</option></select>
我讀了API這個方法和含義是,如果source_type_id
存在的collection_select
將自動地把它撿起來,並設置選擇的值,但這顯然不會發生。
我希望有人會看到我在這裏做什麼明顯的錯誤......
「不顯示」是什麼意思?在視圖中還是當你保存它?你的表單是什麼樣的? – pjammer 2011-02-03 14:22:26
啊,我的意思是該選項沒有顯示爲選定的...默認的一個總是顯示。事實證明,我忘記了(不知道)方法調用設置的選項:selected => someint。 – jaydel 2011-02-03 14:33:47